@@ -98,8 +98,7 @@ define i32 @testmswh(half %a) {
9898;
9999; CHECK-GI-LABEL: testmswh:
100100; CHECK-GI: // %bb.0: // %entry
101- ; CHECK-GI-NEXT: frintm h0, h0
102- ; CHECK-GI-NEXT: fcvtzs w0, h0
101+ ; CHECK-GI-NEXT: fcvtms w0, h0
103102; CHECK-GI-NEXT: ret
104103entry:
105104 %r = call half @llvm.floor.f16 (half %a )
@@ -124,8 +123,7 @@ define i64 @testmsxh(half %a) {
124123;
125124; CHECK-GI-LABEL: testmsxh:
126125; CHECK-GI: // %bb.0: // %entry
127- ; CHECK-GI-NEXT: frintm h0, h0
128- ; CHECK-GI-NEXT: fcvtzs x0, h0
126+ ; CHECK-GI-NEXT: fcvtms x0, h0
129127; CHECK-GI-NEXT: ret
130128entry:
131129 %r = call half @llvm.floor.f16 (half %a )
@@ -141,8 +139,7 @@ define i32 @testmsws(float %a) {
141139;
142140; CHECK-GI-LABEL: testmsws:
143141; CHECK-GI: // %bb.0: // %entry
144- ; CHECK-GI-NEXT: frintm s0, s0
145- ; CHECK-GI-NEXT: fcvtzs w0, s0
142+ ; CHECK-GI-NEXT: fcvtms w0, s0
146143; CHECK-GI-NEXT: ret
147144entry:
148145 %r = call float @llvm.floor.f32 (float %a )
@@ -158,8 +155,7 @@ define i64 @testmsxs(float %a) {
158155;
159156; CHECK-GI-LABEL: testmsxs:
160157; CHECK-GI: // %bb.0: // %entry
161- ; CHECK-GI-NEXT: frintm s0, s0
162- ; CHECK-GI-NEXT: fcvtzs x0, s0
158+ ; CHECK-GI-NEXT: fcvtms x0, s0
163159; CHECK-GI-NEXT: ret
164160entry:
165161 %r = call float @llvm.floor.f32 (float %a )
@@ -175,8 +171,7 @@ define i32 @testmswd(double %a) {
175171;
176172; CHECK-GI-LABEL: testmswd:
177173; CHECK-GI: // %bb.0: // %entry
178- ; CHECK-GI-NEXT: frintm d0, d0
179- ; CHECK-GI-NEXT: fcvtzs w0, d0
174+ ; CHECK-GI-NEXT: fcvtms w0, d0
180175; CHECK-GI-NEXT: ret
181176entry:
182177 %r = call double @llvm.floor.f64 (double %a )
@@ -192,8 +187,7 @@ define i64 @testmsxd(double %a) {
192187;
193188; CHECK-GI-LABEL: testmsxd:
194189; CHECK-GI: // %bb.0: // %entry
195- ; CHECK-GI-NEXT: frintm d0, d0
196- ; CHECK-GI-NEXT: fcvtzs x0, d0
190+ ; CHECK-GI-NEXT: fcvtms x0, d0
197191; CHECK-GI-NEXT: ret
198192entry:
199193 %r = call double @llvm.floor.f64 (double %a )
@@ -296,8 +290,7 @@ define i32 @testpswh(half %a) {
296290;
297291; CHECK-GI-LABEL: testpswh:
298292; CHECK-GI: // %bb.0: // %entry
299- ; CHECK-GI-NEXT: frintp h0, h0
300- ; CHECK-GI-NEXT: fcvtzs w0, h0
293+ ; CHECK-GI-NEXT: fcvtps w0, h0
301294; CHECK-GI-NEXT: ret
302295entry:
303296 %r = call half @llvm.ceil.f16 (half %a )
@@ -322,8 +315,7 @@ define i64 @testpsxh(half %a) {
322315;
323316; CHECK-GI-LABEL: testpsxh:
324317; CHECK-GI: // %bb.0: // %entry
325- ; CHECK-GI-NEXT: frintp h0, h0
326- ; CHECK-GI-NEXT: fcvtzs x0, h0
318+ ; CHECK-GI-NEXT: fcvtps x0, h0
327319; CHECK-GI-NEXT: ret
328320entry:
329321 %r = call half @llvm.ceil.f16 (half %a )
@@ -339,8 +331,7 @@ define i32 @testpsws(float %a) {
339331;
340332; CHECK-GI-LABEL: testpsws:
341333; CHECK-GI: // %bb.0: // %entry
342- ; CHECK-GI-NEXT: frintp s0, s0
343- ; CHECK-GI-NEXT: fcvtzs w0, s0
334+ ; CHECK-GI-NEXT: fcvtps w0, s0
344335; CHECK-GI-NEXT: ret
345336entry:
346337 %r = call float @llvm.ceil.f32 (float %a )
@@ -356,8 +347,7 @@ define i64 @testpsxs(float %a) {
356347;
357348; CHECK-GI-LABEL: testpsxs:
358349; CHECK-GI: // %bb.0: // %entry
359- ; CHECK-GI-NEXT: frintp s0, s0
360- ; CHECK-GI-NEXT: fcvtzs x0, s0
350+ ; CHECK-GI-NEXT: fcvtps x0, s0
361351; CHECK-GI-NEXT: ret
362352entry:
363353 %r = call float @llvm.ceil.f32 (float %a )
@@ -373,8 +363,7 @@ define i32 @testpswd(double %a) {
373363;
374364; CHECK-GI-LABEL: testpswd:
375365; CHECK-GI: // %bb.0: // %entry
376- ; CHECK-GI-NEXT: frintp d0, d0
377- ; CHECK-GI-NEXT: fcvtzs w0, d0
366+ ; CHECK-GI-NEXT: fcvtps w0, d0
378367; CHECK-GI-NEXT: ret
379368entry:
380369 %r = call double @llvm.ceil.f64 (double %a )
@@ -390,8 +379,7 @@ define i64 @testpsxd(double %a) {
390379;
391380; CHECK-GI-LABEL: testpsxd:
392381; CHECK-GI: // %bb.0: // %entry
393- ; CHECK-GI-NEXT: frintp d0, d0
394- ; CHECK-GI-NEXT: fcvtzs x0, d0
382+ ; CHECK-GI-NEXT: fcvtps x0, d0
395383; CHECK-GI-NEXT: ret
396384entry:
397385 %r = call double @llvm.ceil.f64 (double %a )
@@ -418,7 +406,6 @@ define i32 @testzswh(half %a) {
418406;
419407; CHECK-GI-LABEL: testzswh:
420408; CHECK-GI: // %bb.0: // %entry
421- ; CHECK-GI-NEXT: frintz h0, h0
422409; CHECK-GI-NEXT: fcvtzs w0, h0
423410; CHECK-GI-NEXT: ret
424411entry:
@@ -444,7 +431,6 @@ define i64 @testzsxh(half %a) {
444431;
445432; CHECK-GI-LABEL: testzsxh:
446433; CHECK-GI: // %bb.0: // %entry
447- ; CHECK-GI-NEXT: frintz h0, h0
448434; CHECK-GI-NEXT: fcvtzs x0, h0
449435; CHECK-GI-NEXT: ret
450436entry:
@@ -461,7 +447,6 @@ define i32 @testzsws(float %a) {
461447;
462448; CHECK-GI-LABEL: testzsws:
463449; CHECK-GI: // %bb.0: // %entry
464- ; CHECK-GI-NEXT: frintz s0, s0
465450; CHECK-GI-NEXT: fcvtzs w0, s0
466451; CHECK-GI-NEXT: ret
467452entry:
@@ -478,7 +463,6 @@ define i64 @testzsxs(float %a) {
478463;
479464; CHECK-GI-LABEL: testzsxs:
480465; CHECK-GI: // %bb.0: // %entry
481- ; CHECK-GI-NEXT: frintz s0, s0
482466; CHECK-GI-NEXT: fcvtzs x0, s0
483467; CHECK-GI-NEXT: ret
484468entry:
@@ -495,7 +479,6 @@ define i32 @testzswd(double %a) {
495479;
496480; CHECK-GI-LABEL: testzswd:
497481; CHECK-GI: // %bb.0: // %entry
498- ; CHECK-GI-NEXT: frintz d0, d0
499482; CHECK-GI-NEXT: fcvtzs w0, d0
500483; CHECK-GI-NEXT: ret
501484entry:
@@ -512,7 +495,6 @@ define i64 @testzsxd(double %a) {
512495;
513496; CHECK-GI-LABEL: testzsxd:
514497; CHECK-GI: // %bb.0: // %entry
515- ; CHECK-GI-NEXT: frintz d0, d0
516498; CHECK-GI-NEXT: fcvtzs x0, d0
517499; CHECK-GI-NEXT: ret
518500entry:
@@ -540,8 +522,7 @@ define i32 @testaswh(half %a) {
540522;
541523; CHECK-GI-LABEL: testaswh:
542524; CHECK-GI: // %bb.0: // %entry
543- ; CHECK-GI-NEXT: frinta h0, h0
544- ; CHECK-GI-NEXT: fcvtzs w0, h0
525+ ; CHECK-GI-NEXT: fcvtas w0, h0
545526; CHECK-GI-NEXT: ret
546527entry:
547528 %r = call half @llvm.round.f16 (half %a )
@@ -566,8 +547,7 @@ define i64 @testasxh(half %a) {
566547;
567548; CHECK-GI-LABEL: testasxh:
568549; CHECK-GI: // %bb.0: // %entry
569- ; CHECK-GI-NEXT: frinta h0, h0
570- ; CHECK-GI-NEXT: fcvtzs x0, h0
550+ ; CHECK-GI-NEXT: fcvtas x0, h0
571551; CHECK-GI-NEXT: ret
572552entry:
573553 %r = call half @llvm.round.f16 (half %a )
@@ -583,8 +563,7 @@ define i32 @testasws(float %a) {
583563;
584564; CHECK-GI-LABEL: testasws:
585565; CHECK-GI: // %bb.0: // %entry
586- ; CHECK-GI-NEXT: frinta s0, s0
587- ; CHECK-GI-NEXT: fcvtzs w0, s0
566+ ; CHECK-GI-NEXT: fcvtas w0, s0
588567; CHECK-GI-NEXT: ret
589568entry:
590569 %r = call float @llvm.round.f32 (float %a )
@@ -600,8 +579,7 @@ define i64 @testasxs(float %a) {
600579;
601580; CHECK-GI-LABEL: testasxs:
602581; CHECK-GI: // %bb.0: // %entry
603- ; CHECK-GI-NEXT: frinta s0, s0
604- ; CHECK-GI-NEXT: fcvtzs x0, s0
582+ ; CHECK-GI-NEXT: fcvtas x0, s0
605583; CHECK-GI-NEXT: ret
606584entry:
607585 %r = call float @llvm.round.f32 (float %a )
@@ -617,8 +595,7 @@ define i32 @testaswd(double %a) {
617595;
618596; CHECK-GI-LABEL: testaswd:
619597; CHECK-GI: // %bb.0: // %entry
620- ; CHECK-GI-NEXT: frinta d0, d0
621- ; CHECK-GI-NEXT: fcvtzs w0, d0
598+ ; CHECK-GI-NEXT: fcvtas w0, d0
622599; CHECK-GI-NEXT: ret
623600entry:
624601 %r = call double @llvm.round.f64 (double %a )
@@ -634,8 +611,7 @@ define i64 @testasxd(double %a) {
634611;
635612; CHECK-GI-LABEL: testasxd:
636613; CHECK-GI: // %bb.0: // %entry
637- ; CHECK-GI-NEXT: frinta d0, d0
638- ; CHECK-GI-NEXT: fcvtzs x0, d0
614+ ; CHECK-GI-NEXT: fcvtas x0, d0
639615; CHECK-GI-NEXT: ret
640616entry:
641617 %r = call double @llvm.round.f64 (double %a )
@@ -662,8 +638,7 @@ define i32 @testnswh(half %a) {
662638;
663639; CHECK-GI-LABEL: testnswh:
664640; CHECK-GI: // %bb.0: // %entry
665- ; CHECK-GI-NEXT: frintn h0, h0
666- ; CHECK-GI-NEXT: fcvtzs w0, h0
641+ ; CHECK-GI-NEXT: fcvtns w0, h0
667642; CHECK-GI-NEXT: ret
668643entry:
669644 %r = call half @llvm.roundeven.f16 (half %a )
@@ -688,8 +663,7 @@ define i64 @testnsxh(half %a) {
688663;
689664; CHECK-GI-LABEL: testnsxh:
690665; CHECK-GI: // %bb.0: // %entry
691- ; CHECK-GI-NEXT: frintn h0, h0
692- ; CHECK-GI-NEXT: fcvtzs x0, h0
666+ ; CHECK-GI-NEXT: fcvtns x0, h0
693667; CHECK-GI-NEXT: ret
694668entry:
695669 %r = call half @llvm.roundeven.f16 (half %a )
@@ -705,8 +679,7 @@ define i32 @testnsws(float %a) {
705679;
706680; CHECK-GI-LABEL: testnsws:
707681; CHECK-GI: // %bb.0: // %entry
708- ; CHECK-GI-NEXT: frintn s0, s0
709- ; CHECK-GI-NEXT: fcvtzs w0, s0
682+ ; CHECK-GI-NEXT: fcvtns w0, s0
710683; CHECK-GI-NEXT: ret
711684entry:
712685 %r = call float @llvm.roundeven.f32 (float %a )
@@ -722,8 +695,7 @@ define i64 @testnsxs(float %a) {
722695;
723696; CHECK-GI-LABEL: testnsxs:
724697; CHECK-GI: // %bb.0: // %entry
725- ; CHECK-GI-NEXT: frintn s0, s0
726- ; CHECK-GI-NEXT: fcvtzs x0, s0
698+ ; CHECK-GI-NEXT: fcvtns x0, s0
727699; CHECK-GI-NEXT: ret
728700entry:
729701 %r = call float @llvm.roundeven.f32 (float %a )
@@ -739,8 +711,7 @@ define i32 @testnswd(double %a) {
739711;
740712; CHECK-GI-LABEL: testnswd:
741713; CHECK-GI: // %bb.0: // %entry
742- ; CHECK-GI-NEXT: frintn d0, d0
743- ; CHECK-GI-NEXT: fcvtzs w0, d0
714+ ; CHECK-GI-NEXT: fcvtns w0, d0
744715; CHECK-GI-NEXT: ret
745716entry:
746717 %r = call double @llvm.roundeven.f64 (double %a )
@@ -756,8 +727,7 @@ define i64 @testnsxd(double %a) {
756727;
757728; CHECK-GI-LABEL: testnsxd:
758729; CHECK-GI: // %bb.0: // %entry
759- ; CHECK-GI-NEXT: frintn d0, d0
760- ; CHECK-GI-NEXT: fcvtzs x0, d0
730+ ; CHECK-GI-NEXT: fcvtns x0, d0
761731; CHECK-GI-NEXT: ret
762732entry:
763733 %r = call double @llvm.roundeven.f64 (double %a )
0 commit comments