@@ -250,7 +250,8 @@ define i1 @olt_0_or_fabs_ueq_inf(half %x) {
250
250
; Negative test
251
251
define i1 @oeq_0_or_fabs_ult_inf (half %x ) {
252
252
; CHECK-LABEL: @oeq_0_or_fabs_ult_inf(
253
- ; CHECK-NEXT: [[CLASS:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 507)
253
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
254
+ ; CHECK-NEXT: [[CLASS:%.*]] = fcmp une half [[TMP1]], 0xH7C00
254
255
; CHECK-NEXT: ret i1 [[CLASS]]
255
256
;
256
257
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -623,7 +624,8 @@ define i1 @fneg_fabs_olt_neg_smallest_normal_or_inf(half %x) {
623
624
624
625
define i1 @issubnormal_or_finite_olt (half %x ) {
625
626
; CHECK-LABEL: @issubnormal_or_finite_olt(
626
- ; CHECK-NEXT: [[OR:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 504)
627
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
628
+ ; CHECK-NEXT: [[OR:%.*]] = fcmp one half [[TMP1]], 0xH7C00
627
629
; CHECK-NEXT: ret i1 [[OR]]
628
630
;
629
631
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -724,7 +726,8 @@ define i1 @is_finite_or_ord(half %x) {
724
726
725
727
define i1 @is_finite_or_uno (half %x ) {
726
728
; CHECK-LABEL: @is_finite_or_uno(
727
- ; CHECK-NEXT: [[OR:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 519)
729
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
730
+ ; CHECK-NEXT: [[OR:%.*]] = fcmp ueq half [[TMP1]], 0xH7C00
728
731
; CHECK-NEXT: ret i1 [[OR]]
729
732
;
730
733
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -736,7 +739,8 @@ define i1 @is_finite_or_uno(half %x) {
736
739
737
740
define i1 @oeq_isinf_or_uno (half %x ) {
738
741
; CHECK-LABEL: @oeq_isinf_or_uno(
739
- ; CHECK-NEXT: [[CLASS:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 519)
742
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
743
+ ; CHECK-NEXT: [[CLASS:%.*]] = fcmp ueq half [[TMP1]], 0xH7C00
740
744
; CHECK-NEXT: ret i1 [[CLASS]]
741
745
;
742
746
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -771,7 +775,8 @@ define i1 @oeq_isinf_and_uno(half %x) {
771
775
772
776
define i1 @oeq_isinf_and_ord (half %x ) {
773
777
; CHECK-LABEL: @oeq_isinf_and_ord(
774
- ; CHECK-NEXT: [[AND:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 516)
778
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
779
+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[TMP1]], 0xH7C00
775
780
; CHECK-NEXT: ret i1 [[AND]]
776
781
;
777
782
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -902,7 +907,8 @@ define i1 @isnormalinf_or_posinf(half %x) #0 {
902
907
; -> pinf|ninf
903
908
define i1 @isnormalinf_and_inf (half %x ) #0 {
904
909
; CHECK-LABEL: @isnormalinf_and_inf(
905
- ; CHECK-NEXT: [[AND:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 516)
910
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
911
+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[TMP1]], 0xH7C00
906
912
; CHECK-NEXT: ret i1 [[AND]]
907
913
;
908
914
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -970,7 +976,8 @@ define i1 @not_isnormalinf_and_ord(half %x) #0 {
970
976
; -> ~ninf
971
977
define i1 @not_isnormalinf_or_inf (half %x ) #0 {
972
978
; CHECK-LABEL: @not_isnormalinf_or_inf(
973
- ; CHECK-NEXT: [[OR:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 507)
979
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
980
+ ; CHECK-NEXT: [[OR:%.*]] = fcmp une half [[TMP1]], 0xH7C00
974
981
; CHECK-NEXT: ret i1 [[OR]]
975
982
;
976
983
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -1287,7 +1294,8 @@ define i1 @olt_smallest_normal_and_une_inf_or_one_smallest_normal(half %x) #0 {
1287
1294
1288
1295
define i1 @oge_fabs_eq_inf_and_ord (half %x ) #0 {
1289
1296
; CHECK-LABEL: @oge_fabs_eq_inf_and_ord(
1290
- ; CHECK-NEXT: [[AND:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 516)
1297
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
1298
+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[TMP1]], 0xH7C00
1291
1299
; CHECK-NEXT: ret i1 [[AND]]
1292
1300
;
1293
1301
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -1310,7 +1318,8 @@ define i1 @oge_eq_inf_and_ord(half %x) #0 {
1310
1318
1311
1319
define i1 @oge_fabs_eq_inf_or_uno (half %x ) #0 {
1312
1320
; CHECK-LABEL: @oge_fabs_eq_inf_or_uno(
1313
- ; CHECK-NEXT: [[OR:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 519)
1321
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
1322
+ ; CHECK-NEXT: [[OR:%.*]] = fcmp ueq half [[TMP1]], 0xH7C00
1314
1323
; CHECK-NEXT: ret i1 [[OR]]
1315
1324
;
1316
1325
%fabs = call half @llvm.fabs.f16 (half %x )
@@ -1357,7 +1366,8 @@ define i1 @ult_eq_inf_and_ord(half %x) #0 {
1357
1366
1358
1367
define i1 @ult_fabs_eq_inf_or_uno (half %x ) #0 {
1359
1368
; CHECK-LABEL: @ult_fabs_eq_inf_or_uno(
1360
- ; CHECK-NEXT: [[OR:%.*]] = call i1 @llvm.is.fpclass.f16(half [[X:%.*]], i32 507)
1369
+ ; CHECK-NEXT: [[TMP1:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
1370
+ ; CHECK-NEXT: [[OR:%.*]] = fcmp une half [[TMP1]], 0xH7C00
1361
1371
; CHECK-NEXT: ret i1 [[OR]]
1362
1372
;
1363
1373
%fabs = call half @llvm.fabs.f16 (half %x )
0 commit comments