@@ -1289,7 +1289,7 @@ define <1 x i1> @bitcast_1vec_eq0(i32 %x) {
1289
1289
1290
1290
define i1 @fcmp_fadd_zero_ugt (float %x , float %y ) {
1291
1291
; CHECK-LABEL: @fcmp_fadd_zero_ugt(
1292
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ugt float [[ADD :%.*]], [[Y:%.*]]
1292
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ugt float [[X :%.*]], [[Y:%.*]]
1293
1293
; CHECK-NEXT: ret i1 [[CMP]]
1294
1294
;
1295
1295
%add = fadd float %x , 0 .000000e+00
@@ -1299,7 +1299,7 @@ define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
1299
1299
1300
1300
define i1 @fcmp_fadd_zero_uge (float %x , float %y ) {
1301
1301
; CHECK-LABEL: @fcmp_fadd_zero_uge(
1302
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp uge float [[ADD :%.*]], [[Y:%.*]]
1302
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp uge float [[X :%.*]], [[Y:%.*]]
1303
1303
; CHECK-NEXT: ret i1 [[CMP]]
1304
1304
;
1305
1305
%add = fadd float %x , 0 .000000e+00
@@ -1309,7 +1309,7 @@ define i1 @fcmp_fadd_zero_uge(float %x, float %y) {
1309
1309
1310
1310
define i1 @fcmp_fadd_zero_ogt (float %x , float %y ) {
1311
1311
; CHECK-LABEL: @fcmp_fadd_zero_ogt(
1312
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ogt float [[ADD :%.*]], [[Y:%.*]]
1312
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ogt float [[X :%.*]], [[Y:%.*]]
1313
1313
; CHECK-NEXT: ret i1 [[CMP]]
1314
1314
;
1315
1315
%add = fadd float %x , 0 .000000e+00
@@ -1319,7 +1319,7 @@ define i1 @fcmp_fadd_zero_ogt(float %x, float %y) {
1319
1319
1320
1320
define i1 @fcmp_fadd_zero_oge (float %x , float %y ) {
1321
1321
; CHECK-LABEL: @fcmp_fadd_zero_oge(
1322
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oge float [[ADD :%.*]], [[Y:%.*]]
1322
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp oge float [[X :%.*]], [[Y:%.*]]
1323
1323
; CHECK-NEXT: ret i1 [[CMP]]
1324
1324
;
1325
1325
%add = fadd float %x , 0 .000000e+00
@@ -1329,7 +1329,7 @@ define i1 @fcmp_fadd_zero_oge(float %x, float %y) {
1329
1329
1330
1330
define i1 @fcmp_fadd_zero_ult (float %x , float %y ) {
1331
1331
; CHECK-LABEL: @fcmp_fadd_zero_ult(
1332
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ult float [[ADD :%.*]], [[Y:%.*]]
1332
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ult float [[X :%.*]], [[Y:%.*]]
1333
1333
; CHECK-NEXT: ret i1 [[CMP]]
1334
1334
;
1335
1335
%add = fadd float %x , 0 .000000e+00
@@ -1339,7 +1339,7 @@ define i1 @fcmp_fadd_zero_ult(float %x, float %y) {
1339
1339
1340
1340
define i1 @fcmp_fadd_zero_ule (float %x , float %y ) {
1341
1341
; CHECK-LABEL: @fcmp_fadd_zero_ule(
1342
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ule float [[ADD :%.*]], [[Y:%.*]]
1342
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ule float [[X :%.*]], [[Y:%.*]]
1343
1343
; CHECK-NEXT: ret i1 [[CMP]]
1344
1344
;
1345
1345
%add = fadd float %x , 0 .000000e+00
@@ -1349,7 +1349,7 @@ define i1 @fcmp_fadd_zero_ule(float %x, float %y) {
1349
1349
1350
1350
define i1 @fcmp_fadd_zero_olt (float %x , float %y ) {
1351
1351
; CHECK-LABEL: @fcmp_fadd_zero_olt(
1352
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp olt float [[ADD :%.*]], [[Y:%.*]]
1352
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp olt float [[X :%.*]], [[Y:%.*]]
1353
1353
; CHECK-NEXT: ret i1 [[CMP]]
1354
1354
;
1355
1355
%add = fadd float %x , 0 .000000e+00
@@ -1359,7 +1359,7 @@ define i1 @fcmp_fadd_zero_olt(float %x, float %y) {
1359
1359
1360
1360
define i1 @fcmp_fadd_zero_ole (float %x , float %y ) {
1361
1361
; CHECK-LABEL: @fcmp_fadd_zero_ole(
1362
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ole float [[ADD :%.*]], [[Y:%.*]]
1362
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ole float [[X :%.*]], [[Y:%.*]]
1363
1363
; CHECK-NEXT: ret i1 [[CMP]]
1364
1364
;
1365
1365
%add = fadd float %x , 0 .000000e+00
@@ -1369,7 +1369,7 @@ define i1 @fcmp_fadd_zero_ole(float %x, float %y) {
1369
1369
1370
1370
define i1 @fcmp_fadd_zero_oeq (float %x , float %y ) {
1371
1371
; CHECK-LABEL: @fcmp_fadd_zero_oeq(
1372
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq float [[ADD :%.*]], [[Y:%.*]]
1372
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq float [[X :%.*]], [[Y:%.*]]
1373
1373
; CHECK-NEXT: ret i1 [[CMP]]
1374
1374
;
1375
1375
%add = fadd float %x , 0 .000000e+00
@@ -1379,7 +1379,7 @@ define i1 @fcmp_fadd_zero_oeq(float %x, float %y) {
1379
1379
1380
1380
define i1 @fcmp_fadd_zero_one (float %x , float %y ) {
1381
1381
; CHECK-LABEL: @fcmp_fadd_zero_one(
1382
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp one float [[ADD :%.*]], [[Y:%.*]]
1382
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp one float [[X :%.*]], [[Y:%.*]]
1383
1383
; CHECK-NEXT: ret i1 [[CMP]]
1384
1384
;
1385
1385
%add = fadd float %x , 0 .000000e+00
@@ -1389,7 +1389,7 @@ define i1 @fcmp_fadd_zero_one(float %x, float %y) {
1389
1389
1390
1390
define i1 @fcmp_fadd_zero_ueq (float %x , float %y ) {
1391
1391
; CHECK-LABEL: @fcmp_fadd_zero_ueq(
1392
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ueq float [[ADD :%.*]], [[Y:%.*]]
1392
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ueq float [[X :%.*]], [[Y:%.*]]
1393
1393
; CHECK-NEXT: ret i1 [[CMP]]
1394
1394
;
1395
1395
%add = fadd float %x , 0 .000000e+00
@@ -1399,7 +1399,7 @@ define i1 @fcmp_fadd_zero_ueq(float %x, float %y) {
1399
1399
1400
1400
define i1 @fcmp_fadd_zero_une (float %x , float %y ) {
1401
1401
; CHECK-LABEL: @fcmp_fadd_zero_une(
1402
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp une float [[ADD :%.*]], [[Y:%.*]]
1402
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp une float [[X :%.*]], [[Y:%.*]]
1403
1403
; CHECK-NEXT: ret i1 [[CMP]]
1404
1404
;
1405
1405
%add = fadd float %x , 0 .000000e+00
@@ -1409,7 +1409,7 @@ define i1 @fcmp_fadd_zero_une(float %x, float %y) {
1409
1409
1410
1410
define i1 @fcmp_fadd_zero_ord (float %x , float %y ) {
1411
1411
; CHECK-LABEL: @fcmp_fadd_zero_ord(
1412
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp ord float [[ADD :%.*]], [[Y:%.*]]
1412
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ord float [[X :%.*]], [[Y:%.*]]
1413
1413
; CHECK-NEXT: ret i1 [[CMP]]
1414
1414
;
1415
1415
%add = fadd float %x , 0 .000000e+00
@@ -1419,7 +1419,7 @@ define i1 @fcmp_fadd_zero_ord(float %x, float %y) {
1419
1419
1420
1420
define i1 @fcmp_fadd_zero_uno (float %x , float %y ) {
1421
1421
; CHECK-LABEL: @fcmp_fadd_zero_uno(
1422
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp uno float [[ADD :%.*]], [[Y:%.*]]
1422
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp uno float [[X :%.*]], [[Y:%.*]]
1423
1423
; CHECK-NEXT: ret i1 [[CMP]]
1424
1424
;
1425
1425
%add = fadd float %x , 0 .000000e+00
@@ -2054,3 +2054,36 @@ define <8 x i1> @fcmp_une_fsub_const_nnan_vec(<8 x float> %x, <8 x float> %y) {
2054
2054
%cmp = fcmp nnan une <8 x float > %fs , zeroinitializer
2055
2055
ret <8 x i1 > %cmp
2056
2056
}
2057
+
2058
+ define <8 x i1 > @fcmp_ugt_fsub_const_vec_denormal_positive-zero (<8 x float > %x , <8 x float > %y ) "denormal-fp-math" ="positive-zero" {
2059
+ ; CHECK-LABEL: @fcmp_ugt_fsub_const_vec_denormal_positive-zero(
2060
+ ; CHECK-NEXT: [[FS:%.*]] = fsub <8 x float> [[X:%.*]], [[Y:%.*]]
2061
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ogt <8 x float> [[FS]], zeroinitializer
2062
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
2063
+ ;
2064
+ %fs = fsub <8 x float > %x , %y
2065
+ %cmp = fcmp ogt <8 x float > %fs , zeroinitializer
2066
+ ret <8 x i1 > %cmp
2067
+ }
2068
+
2069
+ define <8 x i1 > @fcmp_ogt_fsub_const_vec_denormal_dynamic (<8 x float > %x , <8 x float > %y ) "denormal-fp-math" ="dynamic,dynamic" {
2070
+ ; CHECK-LABEL: @fcmp_ogt_fsub_const_vec_denormal_dynamic(
2071
+ ; CHECK-NEXT: [[FS:%.*]] = fsub <8 x float> [[X:%.*]], [[Y:%.*]]
2072
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ogt <8 x float> [[FS]], zeroinitializer
2073
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
2074
+ ;
2075
+ %fs = fsub <8 x float > %x , %y
2076
+ %cmp = fcmp ogt <8 x float > %fs , zeroinitializer
2077
+ ret <8 x i1 > %cmp
2078
+ }
2079
+
2080
+ define <8 x i1 > @fcmp_ogt_fsub_const_vec_denormal_preserve-sign (<8 x float > %x , <8 x float > %y ) "denormal-fp-math" ="preserve-sign" {
2081
+ ; CHECK-LABEL: @fcmp_ogt_fsub_const_vec_denormal_preserve-sign(
2082
+ ; CHECK-NEXT: [[FS:%.*]] = fsub <8 x float> [[X:%.*]], [[Y:%.*]]
2083
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ogt <8 x float> [[FS]], zeroinitializer
2084
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
2085
+ ;
2086
+ %fs = fsub <8 x float > %x , %y
2087
+ %cmp = fcmp ogt <8 x float > %fs , zeroinitializer
2088
+ ret <8 x i1 > %cmp
2089
+ }
0 commit comments