@@ -484,7 +484,7 @@ define double @select_fcmp_nnan_nsz_olt_zero(double %x) {
484
484
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero(
485
485
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
486
486
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
487
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
487
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
488
488
; CHECK-NEXT: ret double [[FABS]]
489
489
;
490
490
%ltzero = fcmp olt double %x , 0 .0
@@ -523,7 +523,7 @@ define double @select_fcmp_nnan_nsz_olt_zero_unary_fneg(double %x) {
523
523
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_zero_unary_fneg(
524
524
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt double [[X:%.*]], 0.000000e+00
525
525
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz double [[X]]
526
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], double [[NEGX]], double [[X]]
526
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], double [[NEGX]], double [[X]]
527
527
; CHECK-NEXT: ret double [[FABS]]
528
528
;
529
529
%ltzero = fcmp olt double %x , 0 .0
@@ -553,7 +553,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero(float %x) {
553
553
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero(
554
554
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
555
555
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
556
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
556
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
557
557
; CHECK-NEXT: ret float [[FABS]]
558
558
;
559
559
%ltzero = fcmp olt float %x , -0 .0
@@ -579,7 +579,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero(float %x) {
579
579
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero(
580
580
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
581
581
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
582
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
582
+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], float [[NEGX]], float [[X]]
583
583
; CHECK-NEXT: ret float [[FABS]]
584
584
;
585
585
%ltzero = fcmp ult float %x , -0 .0
@@ -592,7 +592,7 @@ define float @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(float %x) {
592
592
; CHECK-LABEL: @select_fcmp_nnan_nsz_olt_negzero_unary_fneg(
593
593
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp olt float [[X:%.*]], 0.000000e+00
594
594
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
595
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
595
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LTZERO]], float [[NEGX]], float [[X]]
596
596
; CHECK-NEXT: ret float [[FABS]]
597
597
;
598
598
%ltzero = fcmp olt float %x , -0 .0
@@ -607,7 +607,7 @@ define float @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(float %x) {
607
607
; CHECK-LABEL: @select_fcmp_nnan_nsz_ult_negzero_unary_fneg(
608
608
; CHECK-NEXT: [[LTZERO:%.*]] = fcmp ult float [[X:%.*]], 0.000000e+00
609
609
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan ninf nsz float [[X]]
610
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LTZERO]], float [[NEGX]], float [[X]]
610
+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LTZERO]], float [[NEGX]], float [[X]]
611
611
; CHECK-NEXT: ret float [[FABS]]
612
612
;
613
613
%ltzero = fcmp ult float %x , -0 .0
@@ -622,7 +622,7 @@ define double @select_fcmp_nnan_nsz_ole_zero(double %x) {
622
622
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero(
623
623
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
624
624
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
625
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
625
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
626
626
; CHECK-NEXT: ret double [[FABS]]
627
627
;
628
628
%lezero = fcmp ole double %x , 0 .0
@@ -648,7 +648,7 @@ define double @select_fcmp_nnan_nsz_ule_zero(double %x) {
648
648
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero(
649
649
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
650
650
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
651
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
651
+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], double [[NEGX]], double [[X]]
652
652
; CHECK-NEXT: ret double [[FABS]]
653
653
;
654
654
%lezero = fcmp ule double %x , 0 .0
@@ -661,7 +661,7 @@ define double @select_fcmp_nnan_nsz_ole_zero_unary_fneg(double %x) {
661
661
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_zero_unary_fneg(
662
662
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole double [[X:%.*]], 0.000000e+00
663
663
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
664
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
664
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], double [[NEGX]], double [[X]]
665
665
; CHECK-NEXT: ret double [[FABS]]
666
666
;
667
667
%lezero = fcmp ole double %x , 0 .0
@@ -676,7 +676,7 @@ define double @select_fcmp_nnan_nsz_ule_zero_unary_fneg(double %x) {
676
676
; CHECK-LABEL: @select_fcmp_nnan_nsz_ule_zero_unary_fneg(
677
677
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ule double [[X:%.*]], 0.000000e+00
678
678
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast double [[X]]
679
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[LEZERO]], double [[NEGX]], double [[X]]
679
+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], double [[NEGX]], double [[X]]
680
680
; CHECK-NEXT: ret double [[FABS]]
681
681
;
682
682
%lezero = fcmp ule double %x , 0 .0
@@ -691,7 +691,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero(float %x) {
691
691
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero(
692
692
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
693
693
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
694
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
694
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
695
695
; CHECK-NEXT: ret float [[FABS]]
696
696
;
697
697
%lezero = fcmp ole float %x , -0 .0
@@ -730,7 +730,7 @@ define float @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(float %x) {
730
730
; CHECK-LABEL: @select_fcmp_nnan_nsz_ole_negzero_unary_fneg(
731
731
; CHECK-NEXT: [[LEZERO:%.*]] = fcmp ole float [[X:%.*]], 0.000000e+00
732
732
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz float [[X]]
733
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[LEZERO]], float [[NEGX]], float [[X]]
733
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[LEZERO]], float [[NEGX]], float [[X]]
734
734
; CHECK-NEXT: ret float [[FABS]]
735
735
;
736
736
%lezero = fcmp ole float %x , -0 .0
@@ -802,7 +802,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ugt_zero(<2 x float> %x) {
802
802
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero(
803
803
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
804
804
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
805
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
805
+ ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
806
806
; CHECK-NEXT: ret <2 x float> [[FABS]]
807
807
;
808
808
%gtzero = fcmp ugt <2 x float > %x , zeroinitializer
@@ -830,7 +830,7 @@ define <2 x float> @select_fcmp_nnan_nsz_ugt_zero_unary_fneg(<2 x float> %x) {
830
830
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_zero_unary_fneg(
831
831
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt <2 x float> [[X:%.*]], zeroinitializer
832
832
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz arcp <2 x float> [[X]]
833
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
833
+ ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GTZERO]], <2 x float> [[X]], <2 x float> [[NEGX]]
834
834
; CHECK-NEXT: ret <2 x float> [[FABS]]
835
835
;
836
836
%gtzero = fcmp ugt <2 x float > %x , zeroinitializer
@@ -845,7 +845,7 @@ define half @select_fcmp_nnan_nsz_ogt_negzero(half %x) {
845
845
; CHECK-LABEL: @select_fcmp_nnan_nsz_ogt_negzero(
846
846
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ogt half [[X:%.*]], 0xH0000
847
847
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast half [[X]]
848
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[GTZERO]], half [[X]], half [[NEGX]]
848
+ ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GTZERO]], half [[X]], half [[NEGX]]
849
849
; CHECK-NEXT: ret half [[FABS]]
850
850
;
851
851
%gtzero = fcmp ogt half %x , -0 .0
@@ -860,7 +860,7 @@ define half @select_fcmp_nnan_nsz_ugt_negzero(half %x) {
860
860
; CHECK-LABEL: @select_fcmp_nnan_nsz_ugt_negzero(
861
861
; CHECK-NEXT: [[GTZERO:%.*]] = fcmp ugt half [[X:%.*]], 0xH0000
862
862
; CHECK-NEXT: [[NEGX:%.*]] = fneg fast half [[X]]
863
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan ninf i1 [[GTZERO]], half [[X]], half [[NEGX]]
863
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GTZERO]], half [[X]], half [[NEGX]]
864
864
; CHECK-NEXT: ret half [[FABS]]
865
865
;
866
866
%gtzero = fcmp ugt half %x , -0 .0
@@ -890,7 +890,7 @@ define <2 x double> @select_fcmp_nnan_nsz_uge_zero(<2 x double> %x) {
890
890
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero(
891
891
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
892
892
; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
893
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
893
+ ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
894
894
; CHECK-NEXT: ret <2 x double> [[FABS]]
895
895
;
896
896
%gezero = fcmp uge <2 x double > %x , zeroinitializer
@@ -918,7 +918,7 @@ define <2 x double> @select_fcmp_nnan_nsz_uge_zero_unary_fneg(<2 x double> %x) {
918
918
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_zero_unary_fneg(
919
919
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge <2 x double> [[X:%.*]], zeroinitializer
920
920
; CHECK-NEXT: [[NEGX:%.*]] = fneg reassoc nnan nsz <2 x double> [[X]]
921
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
921
+ ; CHECK-NEXT: [[FABS:%.*]] = select <2 x i1> [[GEZERO]], <2 x double> [[X]], <2 x double> [[NEGX]]
922
922
; CHECK-NEXT: ret <2 x double> [[FABS]]
923
923
;
924
924
%gezero = fcmp uge <2 x double > %x , zeroinitializer
@@ -948,7 +948,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero(half %x) {
948
948
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero(
949
949
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
950
950
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
951
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
951
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
952
952
; CHECK-NEXT: ret half [[FABS]]
953
953
;
954
954
%gezero = fcmp uge half %x , -0 .0
@@ -976,7 +976,7 @@ define half @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(half %x) {
976
976
; CHECK-LABEL: @select_fcmp_nnan_nsz_uge_negzero_unary_fneg(
977
977
; CHECK-NEXT: [[GEZERO:%.*]] = fcmp uge half [[X:%.*]], 0xH0000
978
978
; CHECK-NEXT: [[NEGX:%.*]] = fneg nnan nsz half [[X]]
979
- ; CHECK-NEXT: [[FABS:%.*]] = select nnan i1 [[GEZERO]], half [[X]], half [[NEGX]]
979
+ ; CHECK-NEXT: [[FABS:%.*]] = select i1 [[GEZERO]], half [[X]], half [[NEGX]]
980
980
; CHECK-NEXT: ret half [[FABS]]
981
981
;
982
982
%gezero = fcmp uge half %x , -0 .0
0 commit comments