@@ -1224,6 +1224,7 @@ body: |
1224
1224
%x:vr = PseudoVMAND_MM_B1 $noreg, $noreg, -1, 0
1225
1225
%y:vr = PseudoVIOTA_M_MF2 $noreg, %x, 1, 3 /* e8 */, 0
1226
1226
...
1227
+ ---
1227
1228
name : vred_vs2
1228
1229
body : |
1229
1230
bb.0:
@@ -1337,3 +1338,53 @@ body: |
1337
1338
%y:vr = PseudoVREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0
1338
1339
%z:vr = PseudoVADD_VV_M1 $noreg, %x, $noreg, 2, 3 /* e8 */, 0
1339
1340
...
1341
+ ---
1342
+ name : vwred_vs2
1343
+ body : |
1344
+ bb.0:
1345
+ ; CHECK-LABEL: name: vwred_vs2
1346
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */
1347
+ ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */
1348
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
1349
+ %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0
1350
+ ...
1351
+ ---
1352
+ name : vwred_vs1
1353
+ body : |
1354
+ bb.0:
1355
+ ; CHECK-LABEL: name: vwred_vs1
1356
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
1357
+ ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
1358
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
1359
+ %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0
1360
+ ...
1361
+ ---
1362
+ name : vwred_vs1_incompatible_eew
1363
+ body : |
1364
+ bb.0:
1365
+ ; CHECK-LABEL: name: vwred_vs1_incompatible_eew
1366
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
1367
+ ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
1368
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0
1369
+ %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0
1370
+ ...
1371
+ ---
1372
+ name : vwred_vs2_incompatible_eew
1373
+ body : |
1374
+ bb.0:
1375
+ ; CHECK-LABEL: name: vwred_vs2_incompatible_eew
1376
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
1377
+ ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0 /* tu, mu */
1378
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
1379
+ %y:vr = PseudoVWREDSUM_VS_M1_E8 $noreg, $noreg, %x, 1, 3 /* e8 */, 0
1380
+ ...
1381
+ ---
1382
+ name : vwred_incompatible_emul
1383
+ body : |
1384
+ bb.0:
1385
+ ; CHECK-LABEL: name: vwred_incompatible_emul
1386
+ ; CHECK: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
1387
+ ; CHECK-NEXT: %y:vr = PseudoVWREDSUM_VS_MF2_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
1388
+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0
1389
+ %y:vr = PseudoVWREDSUM_VS_MF2_E8 $noreg, %x, $noreg, 1, 3 /* e8 */, 0
1390
+ ...
0 commit comments