@@ -473,7 +473,7 @@ define double @select_fcmp_nnan_nsz_olt_zero(double %x) {
473
473
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero(
474
474
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
475
475
; 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]]
477
477
; CHECK-NEXT: ret double [[FABS]]
478
478
;
479
479
%ltzero = fcmp olt double %x , 0 .0
@@ -499,7 +499,7 @@ define double @select_fcmp_nnan_nsz_ult_zero(double %x) {
499
499
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_zero(
500
500
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult double [[X:%.*]], 0.000000e+00
501
501
; 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]]
503
503
; CHECK-NEXT: ret double [[FABS]]
504
504
;
505
505
%ltzero = fcmp ult double %x , 0 .0
@@ -512,7 +512,7 @@ define double @select_fcmp_nnan_nsz_olt_zero_unary_fneg(double %x) {
512
512
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero_unary_fneg(
513
513
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
514
514
; 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]]
516
516
; CHECK-NEXT: ret double [[FABS]]
517
517
;
518
518
%ltzero = fcmp olt double %x , 0 .0
@@ -527,7 +527,7 @@ define double @select_fcmp_nnan_nsz_ult_zero_unary_fneg(double %x) {
527
527
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_zero_unary_fneg(
528
528
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult double [[X:%.*]], 0.000000e+00
529
529
; 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]]
531
531
; CHECK-NEXT: ret double [[FABS]]
532
532
;
533
533
%ltzero = fcmp ult double %x , 0 .0
@@ -542,7 +542,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero(float %x) {
542
542
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero(
543
543
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
544
544
; 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]]
546
546
; CHECK-NEXT: ret float [[FABS]]
547
547
;
548
548
%ltzero = fcmp olt float %x , -0 .0
@@ -568,7 +568,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero(float %x) {
568
568
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero(
569
569
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
570
570
; 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]]
572
572
; CHECK-NEXT: ret float [[FABS]]
573
573
;
574
574
%ltzero = fcmp ult float %x , -0 .0
@@ -581,7 +581,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(float %x) {
581
581
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(
582
582
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
583
583
; 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]]
585
585
; CHECK-NEXT: ret float [[FABS]]
586
586
;
587
587
%ltzero = fcmp olt float %x , -0 .0
@@ -596,7 +596,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(float %x) {
596
596
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(
597
597
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
598
598
; 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]]
600
600
; CHECK-NEXT: ret float [[FABS]]
601
601
;
602
602
%ltzero = fcmp ult float %x , -0 .0
@@ -611,7 +611,7 @@ define double @select_fcmp_nnan_nsz_ole_zero(double %x) {
611
611
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero(
612
612
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
613
613
; 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]]
615
615
; CHECK-NEXT: ret double [[FABS]]
616
616
;
617
617
%lezero = fcmp ole double %x , 0 .0
@@ -637,7 +637,7 @@ define double @select_fcmp_nnan_nsz_ule_zero(double %x) {
637
637
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero(
638
638
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
639
639
; 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]]
641
641
; CHECK-NEXT: ret double [[FABS]]
642
642
;
643
643
%lezero = fcmp ule double %x , 0 .0
@@ -650,7 +650,7 @@ define double @select_fcmp_nnan_nsz_ole_zero_unary_fneg(double %x) {
650
650
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero_unary_fneg(
651
651
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
652
652
; 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]]
654
654
; CHECK-NEXT: ret double [[FABS]]
655
655
;
656
656
%lezero = fcmp ole double %x , 0 .0
@@ -665,7 +665,7 @@ define double @select_fcmp_nnan_nsz_ule_zero_unary_fneg(double %x) {
665
665
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero_unary_fneg(
666
666
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
667
667
; 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]]
669
669
; CHECK-NEXT: ret double [[FABS]]
670
670
;
671
671
%lezero = fcmp ule double %x , 0 .0
@@ -680,7 +680,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero(float %x) {
680
680
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero(
681
681
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
682
682
; 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]]
684
684
; CHECK-NEXT: ret float [[FABS]]
685
685
;
686
686
%lezero = fcmp ole float %x , -0 .0
@@ -706,7 +706,7 @@ define float @select_fcmp_nnan_nsz_ule_negzero(float %x) {
706
706
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_negzero(
707
707
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule float [[X:%.*]], 0.000000e+00
708
708
; 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]]
710
710
; CHECK-NEXT: ret float [[FABS]]
711
711
;
712
712
%lezero = fcmp ule float %x , -0 .0
@@ -719,7 +719,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(float %x) {
719
719
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(
720
720
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
721
721
; 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]]
723
723
; CHECK-NEXT: ret float [[FABS]]
724
724
;
725
725
%lezero = fcmp ole float %x , -0 .0
@@ -734,7 +734,7 @@ define float @select_fcmp_nnan_nsz_ule_negzero_unary_fneg(float %x) {
734
734
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_negzero_unary_fneg(
735
735
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule float [[X:%.*]], 0.000000e+00
736
736
; 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]]
738
738
; CHECK-NEXT: ret float [[FABS]]
739
739
;
740
740
%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) {
771
771
; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_zero(
772
772
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt <2 x float> [[X:%.*]], zeroinitializer
773
773
; 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]]
775
775
; CHECK-NEXT: ret <2 x float> [[FABS]]
776
776
;
777
777
%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) {
786
786
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero(
787
787
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
788
788
; 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]]
790
790
; CHECK-NEXT: ret <2 x float> [[FABS]]
791
791
;
792
792
%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) {
799
799
; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_zero_unary_fneg(
800
800
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt <2 x float> [[X:%.*]], zeroinitializer
801
801
; 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]]
803
803
; CHECK-NEXT: ret <2 x float> [[FABS]]
804
804
;
805
805
%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) {
814
814
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero_unary_fneg(
815
815
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
816
816
; 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]]
818
818
; CHECK-NEXT: ret <2 x float> [[FABS]]
819
819
;
820
820
%gtzero = fcmp ugt <2 x float > %x , zeroinitializer
@@ -829,7 +829,7 @@ define half @select_fcmp_nnan_nsz_ogt_negzero(half %x) {
829
829
; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_negzero(
830
830
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt half [[X:%.*]], 0xH0000
831
831
; 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]]
833
833
; CHECK-NEXT: ret half [[FABS]]
834
834
;
835
835
%gtzero = fcmp ogt half %x , -0 .0
@@ -844,7 +844,7 @@ define half @select_fcmp_nnan_nsz_ugt_negzero(half %x) {
844
844
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_negzero(
845
845
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt half [[X:%.*]], 0xH0000
846
846
; 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]]
848
848
; CHECK-NEXT: ret half [[FABS]]
849
849
;
850
850
%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) {
859
859
; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_zero(
860
860
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge <2 x double> [[X:%.*]], zeroinitializer
861
861
; 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]]
863
863
; CHECK-NEXT: ret <2 x double> [[FABS]]
864
864
;
865
865
%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) {
874
874
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero(
875
875
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
876
876
; 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]]
878
878
; CHECK-NEXT: ret <2 x double> [[FABS]]
879
879
;
880
880
%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) {
887
887
; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_zero_unary_fneg(
888
888
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge <2 x double> [[X:%.*]], zeroinitializer
889
889
; 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]]
891
891
; CHECK-NEXT: ret <2 x double> [[FABS]]
892
892
;
893
893
%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) {
902
902
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero_unary_fneg(
903
903
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
904
904
; 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]]
906
906
; CHECK-NEXT: ret <2 x double> [[FABS]]
907
907
;
908
908
%gezero = fcmp uge <2 x double > %x , zeroinitializer
@@ -917,7 +917,7 @@ define half @select_fcmp_nnan_nsz_oge_negzero(half %x) {
917
917
; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_negzero(
918
918
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge half [[X:%.*]], 0xH0000
919
919
; 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]]
921
921
; CHECK-NEXT: ret half [[FABS]]
922
922
;
923
923
%gezero = fcmp oge half %x , -0 .0
@@ -932,7 +932,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero(half %x) {
932
932
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero(
933
933
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
934
934
; 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]]
936
936
; CHECK-NEXT: ret half [[FABS]]
937
937
;
938
938
%gezero = fcmp uge half %x , -0 .0
@@ -945,7 +945,7 @@ define half @select_fcmp_nnan_nsz_oge_negzero_unary_fneg(half %x) {
945
945
; CHECK-LABEL: @select_fcmp_nnan_nsz_oge_negzero_unary_fneg(
946
946
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp oge half [[X:%.*]], 0xH0000
947
947
; 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]]
949
949
; CHECK-NEXT: ret half [[FABS]]
950
950
;
951
951
%gezero = fcmp oge half %x , -0 .0
@@ -960,7 +960,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(half %x) {
960
960
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(
961
961
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
962
962
; 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]]
964
964
; CHECK-NEXT: ret half [[FABS]]
965
965
;
966
966
%gezero = fcmp uge half %x , -0 .0
0 commit comments