@@ -473,7 +473,7 @@ define double @select_fcmp_nnan_nsz_olt_zero(double %x) {
473473; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero(
474474; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
475475; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
476- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
476+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
477477; CHECK-NEXT: ret double [[FABS]]
478478;
479479 %ltzero = fcmp olt double %x , 0 .0
@@ -499,7 +499,7 @@ define double @select_fcmp_nnan_nsz_ult_zero(double %x) {
499499; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_zero(
500500; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult double [[X:%.*]], 0.000000e+00
501501; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
502- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
502+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
503503; CHECK-NEXT: ret double [[FABS]]
504504;
505505 %ltzero = fcmp ult double %x , 0 .0
@@ -512,7 +512,7 @@ define double @select_fcmp_nnan_nsz_olt_zero_unary_fneg(double %x) {
512512; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero_unary_fneg(
513513; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
514514; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
515- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
515+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
516516; CHECK-NEXT: ret double [[FABS]]
517517;
518518 %ltzero = fcmp olt double %x , 0 .0
@@ -527,7 +527,7 @@ define double @select_fcmp_nnan_nsz_ult_zero_unary_fneg(double %x) {
527527; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_zero_unary_fneg(
528528; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult double [[X:%.*]], 0.000000e+00
529529; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
530- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
530+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
531531; CHECK-NEXT: ret double [[FABS]]
532532;
533533 %ltzero = fcmp ult double %x , 0 .0
@@ -542,7 +542,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero(float %x) {
542542; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero(
543543; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
544544; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
545- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
545+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
546546; CHECK-NEXT: ret float [[FABS]]
547547;
548548 %ltzero = fcmp olt float %x , -0 .0
@@ -568,7 +568,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero(float %x) {
568568; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero(
569569; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
570570; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
571- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
571+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
572572; CHECK-NEXT: ret float [[FABS]]
573573;
574574 %ltzero = fcmp ult float %x , -0 .0
@@ -581,7 +581,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(float %x) {
581581; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(
582582; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
583583; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
584- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
584+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
585585; CHECK-NEXT: ret float [[FABS]]
586586;
587587 %ltzero = fcmp olt float %x , -0 .0
@@ -596,7 +596,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(float %x) {
596596; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(
597597; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
598598; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
599- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
599+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
600600; CHECK-NEXT: ret float [[FABS]]
601601;
602602 %ltzero = fcmp ult float %x , -0 .0
@@ -611,7 +611,7 @@ define double @select_fcmp_nnan_nsz_ole_zero(double %x) {
611611; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero(
612612; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
613613; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
614- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
614+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
615615; CHECK-NEXT: ret double [[FABS]]
616616;
617617 %lezero = fcmp ole double %x , 0 .0
@@ -637,7 +637,7 @@ define double @select_fcmp_nnan_nsz_ule_zero(double %x) {
637637; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero(
638638; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
639639; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
640- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
640+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
641641; CHECK-NEXT: ret double [[FABS]]
642642;
643643 %lezero = fcmp ule double %x , 0 .0
@@ -650,7 +650,7 @@ define double @select_fcmp_nnan_nsz_ole_zero_unary_fneg(double %x) {
650650; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero_unary_fneg(
651651; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
652652; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
653- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
653+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
654654; CHECK-NEXT: ret double [[FABS]]
655655;
656656 %lezero = fcmp ole double %x , 0 .0
@@ -665,7 +665,7 @@ define double @select_fcmp_nnan_nsz_ule_zero_unary_fneg(double %x) {
665665; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero_unary_fneg(
666666; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
667667; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
668- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
668+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
669669; CHECK-NEXT: ret double [[FABS]]
670670;
671671 %lezero = fcmp ule double %x , 0 .0
@@ -680,7 +680,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero(float %x) {
680680; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero(
681681; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
682682; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
683- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
683+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
684684; CHECK-NEXT: ret float [[FABS]]
685685;
686686 %lezero = fcmp ole float %x , -0 .0
@@ -706,7 +706,7 @@ define float @select_fcmp_nnan_nsz_ule_negzero(float %x) {
706706; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_negzero(
707707; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule float [[X:%.*]], 0.000000e+00
708708; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
709- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
709+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
710710; CHECK-NEXT: ret float [[FABS]]
711711;
712712 %lezero = fcmp ule float %x , -0 .0
@@ -719,7 +719,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(float %x) {
719719; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(
720720; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
721721; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
722- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
722+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
723723; CHECK-NEXT: ret float [[FABS]]
724724;
725725 %lezero = fcmp ole float %x , -0 .0
@@ -734,7 +734,7 @@ define float @select_fcmp_nnan_nsz_ule_negzero_unary_fneg(float %x) {
734734; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_negzero_unary_fneg(
735735; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule float [[X:%.*]], 0.000000e+00
736736; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
737- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
737+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
738738; CHECK-NEXT: ret float [[FABS]]
739739;
740740 %lezero = fcmp ule float %x , -0 .0
@@ -771,7 +771,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ogt_zero(<2 x float> %x) {
771771; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_zero(
772772; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt <2 x float> [[X:%.*]], zeroinitializer
773773; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
774- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
774+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
775775; CHECK-NEXT: ret <2 x float> [[FABS]]
776776;
777777 %gtzero = fcmp ogt <2 x float > %x , zeroinitializer
@@ -786,7 +786,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ugt_zero(<2 x float> %x) {
786786; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero(
787787; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
788788; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
789- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
789+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
790790; CHECK-NEXT: ret <2 x float> [[FABS]]
791791;
792792 %gtzero = fcmp ugt <2 x float > %x , zeroinitializer
@@ -799,7 +799,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ogt_zero_unary_fneg(<2 x float> %x) {
799799; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_zero_unary_fneg(
800800; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt <2 x float> [[X:%.*]], zeroinitializer
801801; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
802- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
802+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
803803; CHECK-NEXT: ret <2 x float> [[FABS]]
804804;
805805 %gtzero = fcmp ogt <2 x float > %x , zeroinitializer
@@ -814,7 +814,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ugt_zero_unary_fneg(<2 x float> %x) {
814814; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero_unary_fneg(
815815; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
816816; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
817- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
817+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
818818; CHECK-NEXT: ret <2 x float> [[FABS]]
819819;
820820 %gtzero = fcmp ugt <2 x float > %x , zeroinitializer
@@ -829,7 +829,7 @@ define half @select_fcmp_nnan_nsz_ogt_negzero(half %x) {
829829; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_negzero(
830830; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt half [[X:%.*]], 0xH0000
831831; CHECK-NEXT: [[NEGX:%.*]] = fneg fast half [[X]]
832- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GTZERO]], half [[X]], half [[NEGX]]
832+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[GTZERO]], half [[X]], half [[NEGX]]
833833; CHECK-NEXT: ret half [[FABS]]
834834;
835835 %gtzero = fcmp ogt half %x , -0 .0
@@ -844,7 +844,7 @@ define half @select_fcmp_nnan_nsz_ugt_negzero(half %x) {
844844; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_negzero(
845845; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt half [[X:%.*]], 0xH0000
846846; CHECK-NEXT: [[NEGX:%.*]] = fneg fast half [[X]]
847- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GTZERO]], half [[X]], half [[NEGX]]
847+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[GTZERO]], half [[X]], half [[NEGX]]
848848; CHECK-NEXT: ret half [[FABS]]
849849;
850850 %gtzero = fcmp ugt half %x , -0 .0
@@ -859,7 +859,7 @@ define <2 x double> @select_fcmp_nnan_nsz_oge_zero(<2 x double> %x) {
859859; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_zero(
860860; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge <2 x double> [[X:%.*]], zeroinitializer
861861; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
862- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
862+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
863863; CHECK-NEXT: ret <2 x double> [[FABS]]
864864;
865865 %gezero = fcmp oge <2 x double > %x , zeroinitializer
@@ -874,7 +874,7 @@ define <2 x double> @select_fcmp_nnan_nsz_uge_zero(<2 x double> %x) {
874874; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero(
875875; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
876876; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
877- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
877+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
878878; CHECK-NEXT: ret <2 x double> [[FABS]]
879879;
880880 %gezero = fcmp uge <2 x double > %x , zeroinitializer
@@ -887,7 +887,7 @@ define <2 x double> @select_fcmp_nnan_nsz_oge_zero_unary_fneg(<2 x double> %x) {
887887; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_zero_unary_fneg(
888888; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge <2 x double> [[X:%.*]], zeroinitializer
889889; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
890- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
890+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
891891; CHECK-NEXT: ret <2 x double> [[FABS]]
892892;
893893 %gezero = fcmp oge <2 x double > %x , zeroinitializer
@@ -902,7 +902,7 @@ define <2 x double> @select_fcmp_nnan_nsz_uge_zero_unary_fneg(<2 x double> %x) {
902902; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero_unary_fneg(
903903; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
904904; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
905- ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
905+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
906906; CHECK-NEXT: ret <2 x double> [[FABS]]
907907;
908908 %gezero = fcmp uge <2 x double > %x , zeroinitializer
@@ -917,7 +917,7 @@ define half @select_fcmp_nnan_nsz_oge_negzero(half %x) {
917917; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_negzero(
918918; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge half [[X:%.*]], 0xH0000
919919; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
920- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
920+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
921921; CHECK-NEXT: ret half [[FABS]]
922922;
923923 %gezero = fcmp oge half %x , -0 .0
@@ -932,7 +932,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero(half %x) {
932932; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero(
933933; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
934934; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
935- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
935+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
936936; CHECK-NEXT: ret half [[FABS]]
937937;
938938 %gezero = fcmp uge half %x , -0 .0
@@ -945,7 +945,7 @@ define half @select_fcmp_nnan_nsz_oge_negzero_unary_fneg(half %x) {
945945; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_negzero_unary_fneg(
946946; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge half [[X:%.*]], 0xH0000
947947; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
948- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
948+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
949949; CHECK-NEXT: ret half [[FABS]]
950950;
951951 %gezero = fcmp oge half %x , -0 .0
@@ -960,7 +960,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(half %x) {
960960; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(
961961; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
962962; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
963- ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
963+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
964964; CHECK-NEXT: ret half [[FABS]]
965965;
966966 %gezero = fcmp uge half %x , -0 .0
0 commit comments