@@ -554,7 +554,8 @@ defset list<VTypeInfoToWide> AllWidenableBF16ToFloatVectors = {
554
554
// This represents the information we need in codegen for each pseudo.
555
555
// The definition should be consistent with `struct PseudoInfo` in
556
556
// RISCVInstrInfo.h.
557
- class RISCVVPseudo<dag outs, dag ins, list<dag> pattern = [], string opcodestr = "", string argstr = "">
557
+ class RISCVVPseudo<dag outs, dag ins, list<dag> pattern = [],
558
+ string opcodestr = "", string argstr = "">
558
559
: Pseudo<outs, ins, pattern, opcodestr, argstr> {
559
560
Pseudo Pseudo = !cast<Pseudo>(NAME); // Used as a key.
560
561
Instruction BaseInstr = !cast<Instruction>(PseudoToVInst<NAME>.VInst);
@@ -1010,8 +1011,7 @@ class VPseudoNullaryNoMask<VReg RegClass> :
1010
1011
class VPseudoNullaryMask<VReg RegClass> :
1011
1012
RISCVVPseudo<(outs GetVRegNoV0<RegClass>.R:$rd),
1012
1013
(ins GetVRegNoV0<RegClass>.R:$passthru,
1013
- VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy),
1014
- []> {
1014
+ VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1015
1015
let mayLoad = 0;
1016
1016
let mayStore = 0;
1017
1017
let hasSideEffects = 0;
@@ -1190,8 +1190,7 @@ class VPseudoBinaryNoMask<VReg RetClass,
1190
1190
bits<2> TargetConstraintType = 1,
1191
1191
DAGOperand sewop = sew> :
1192
1192
RISCVVPseudo<(outs RetClass:$rd),
1193
- (ins Op1Class:$rs2, Op2Class:$rs1, AVL:$vl, sewop:$sew),
1194
- []> {
1193
+ (ins Op1Class:$rs2, Op2Class:$rs1, AVL:$vl, sewop:$sew)> {
1195
1194
let mayLoad = 0;
1196
1195
let mayStore = 0;
1197
1196
let hasSideEffects = 0;
@@ -1227,8 +1226,7 @@ class VPseudoBinaryNoMaskRoundingMode<VReg RetClass,
1227
1226
bits<2> TargetConstraintType = 1> :
1228
1227
RISCVVPseudo<(outs RetClass:$rd),
1229
1228
(ins RetClass:$passthru, Op1Class:$rs2, Op2Class:$rs1,
1230
- vec_rm:$rm, AVL:$vl, sew:$sew, vec_policy:$policy),
1231
- []> {
1229
+ vec_rm:$rm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1232
1230
let mayLoad = 0;
1233
1231
let mayStore = 0;
1234
1232
let hasSideEffects = 0;
@@ -1320,7 +1318,7 @@ class VPseudoIStoreNoMask<VReg StClass, VReg IdxClass, int EEW, bits<3> LMUL,
1320
1318
bit Ordered>:
1321
1319
RISCVVPseudo<(outs),
1322
1320
(ins StClass:$rd, GPRMemZeroOffset:$rs1, IdxClass:$rs2,
1323
- AVL:$vl, sew:$sew),[] >,
1321
+ AVL:$vl, sew:$sew)>,
1324
1322
RISCVVSX</*Masked*/0, Ordered, !logtwo(EEW), VLMul, LMUL> {
1325
1323
let mayLoad = 0;
1326
1324
let mayStore = 1;
@@ -1333,7 +1331,7 @@ class VPseudoIStoreMask<VReg StClass, VReg IdxClass, int EEW, bits<3> LMUL,
1333
1331
bit Ordered>:
1334
1332
RISCVVPseudo<(outs),
1335
1333
(ins StClass:$rd, GPRMemZeroOffset:$rs1, IdxClass:$rs2,
1336
- VMaskOp:$vm, AVL:$vl, sew:$sew),[] >,
1334
+ VMaskOp:$vm, AVL:$vl, sew:$sew)>,
1337
1335
RISCVVSX</*Masked*/1, Ordered, !logtwo(EEW), VLMul, LMUL> {
1338
1336
let mayLoad = 0;
1339
1337
let mayStore = 1;
@@ -1351,8 +1349,7 @@ class VPseudoBinaryMaskPolicy<VReg RetClass,
1351
1349
RISCVVPseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
1352
1350
(ins GetVRegNoV0<RetClass>.R:$passthru,
1353
1351
Op1Class:$rs2, Op2Class:$rs1,
1354
- VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy),
1355
- []> {
1352
+ VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1356
1353
let mayLoad = 0;
1357
1354
let mayStore = 0;
1358
1355
let hasSideEffects = 0;
@@ -1371,8 +1368,7 @@ class VPseudoTernaryMaskPolicy<VReg RetClass,
1371
1368
RISCVVPseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
1372
1369
(ins GetVRegNoV0<RetClass>.R:$passthru,
1373
1370
Op1Class:$rs2, Op2Class:$rs1,
1374
- VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy),
1375
- []> {
1371
+ VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1376
1372
let mayLoad = 0;
1377
1373
let mayStore = 0;
1378
1374
let hasSideEffects = 0;
@@ -1414,8 +1410,7 @@ class VPseudoBinaryMOutMask<VReg RetClass,
1414
1410
RISCVVPseudo<(outs RetClass:$rd),
1415
1411
(ins RetClass:$passthru,
1416
1412
Op1Class:$rs2, Op2Class:$rs1,
1417
- VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy),
1418
- []> {
1413
+ VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1419
1414
let mayLoad = 0;
1420
1415
let mayStore = 0;
1421
1416
let hasSideEffects = 0;
@@ -1438,8 +1433,7 @@ class VPseudoTiedBinaryMask<VReg RetClass,
1438
1433
RISCVVPseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
1439
1434
(ins GetVRegNoV0<RetClass>.R:$passthru,
1440
1435
Op2Class:$rs1,
1441
- VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy),
1442
- []> {
1436
+ VMaskOp:$vm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1443
1437
let mayLoad = 0;
1444
1438
let mayStore = 0;
1445
1439
let hasSideEffects = 0;
@@ -1546,8 +1540,7 @@ class VPseudoTernaryNoMaskWithPolicyRoundingMode<VReg RetClass,
1546
1540
bits<2> TargetConstraintType = 1> :
1547
1541
RISCVVPseudo<(outs RetClass:$rd),
1548
1542
(ins RetClass:$rs3, Op1Class:$rs1, Op2Class:$rs2,
1549
- vec_rm:$rm, AVL:$vl, sew:$sew, vec_policy:$policy),
1550
- []> {
1543
+ vec_rm:$rm, AVL:$vl, sew:$sew, vec_policy:$policy)> {
1551
1544
let mayLoad = 0;
1552
1545
let mayStore = 0;
1553
1546
let hasSideEffects = 0;
@@ -1716,8 +1709,8 @@ class VPseudoUSSegStoreNoMask<VReg ValClass,
1716
1709
int EEW,
1717
1710
bits<4> NF> :
1718
1711
RISCVVPseudo<(outs),
1719
- (ins ValClass:$rd, GPRMemZeroOffset:$rs1, AVL:$vl, sew:$sew),
1720
- [] >,
1712
+ (ins ValClass:$rd, GPRMemZeroOffset:$rs1, AVL:$vl,
1713
+ sew:$sew) >,
1721
1714
RISCVVSSEG<NF, /*Masked*/0, /*Strided*/0, !logtwo(EEW), VLMul> {
1722
1715
let mayLoad = 0;
1723
1716
let mayStore = 1;
@@ -6029,9 +6022,9 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0, isCodeGenOnly = 1 in {
6029
6022
PseudoInstExpansion<(CSRRS GPR:$rd, SysRegVLENB.Encoding, X0)>,
6030
6023
Sched<[WriteRdVLENB]>;
6031
6024
let Defs = [VL, VTYPE] in {
6032
- def PseudoReadVLENBViaVSETVLIX0 : Pseudo<(outs GPRNoX0:$rd), (ins uimm5:$shamt),
6033
- []>,
6034
- Sched<[WriteVSETVLI, ReadVSETVLI]>;
6025
+ def PseudoReadVLENBViaVSETVLIX0 : Pseudo<(outs GPRNoX0:$rd),
6026
+ (ins uimm5:$shamt), []>,
6027
+ Sched<[WriteVSETVLI, ReadVSETVLI]>;
6035
6028
}
6036
6029
}
6037
6030
@@ -6694,14 +6687,14 @@ defm PseudoVID : VPseudoVID_V;
6694
6687
let Predicates = [HasVInstructions] in {
6695
6688
let mayLoad = 0, mayStore = 0, hasSideEffects = 0 in {
6696
6689
let HasSEWOp = 1, BaseInstr = VMV_X_S in
6697
- def PseudoVMV_X_S:
6690
+ def PseudoVMV_X_S :
6698
6691
RISCVVPseudo<(outs GPR:$rd), (ins VR:$rs2, sew:$sew)>,
6699
6692
Sched<[WriteVMovXS, ReadVMovXS]>;
6700
6693
let HasVLOp = 1, HasSEWOp = 1, BaseInstr = VMV_S_X, isReMaterializable = 1,
6701
6694
Constraints = "$rd = $passthru" in
6702
- def PseudoVMV_S_X: RISCVVPseudo<(outs VR:$rd),
6703
- (ins VR:$passthru, GPR:$rs1, AVL:$vl, sew:$sew ),
6704
- [] >,
6695
+ def PseudoVMV_S_X :
6696
+ RISCVVPseudo<(outs VR:$rd ),
6697
+ (ins VR:$passthru, GPR:$rs1, AVL:$vl, sew:$sew) >,
6705
6698
Sched<[WriteVMovSX, ReadVMovSX_V, ReadVMovSX_X]>;
6706
6699
}
6707
6700
} // Predicates = [HasVInstructions]
@@ -6721,8 +6714,7 @@ let mayLoad = 0, mayStore = 0, hasSideEffects = 0 in {
6721
6714
Constraints = "$rd = $passthru" in
6722
6715
def "PseudoVFMV_S_" # f.FX :
6723
6716
RISCVVPseudo<(outs VR:$rd),
6724
- (ins VR:$passthru, f.fprclass:$rs1, AVL:$vl, sew:$sew),
6725
- []>,
6717
+ (ins VR:$passthru, f.fprclass:$rs1, AVL:$vl, sew:$sew)>,
6726
6718
Sched<[WriteVMovSF, ReadVMovSF_V, ReadVMovSF_F]>;
6727
6719
}
6728
6720
}
0 commit comments