Skip to content

Commit 71ec8c6

Browse files
committed
cleanup
1 parent 5cf2abd commit 71ec8c6

File tree

1 file changed

+46
-32
lines changed

1 file changed

+46
-32
lines changed

llvm/lib/Target/PowerPC/PPCISelLowering.cpp

Lines changed: 46 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11147,6 +11147,7 @@ SDValue PPCTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
1114711147
}
1114811148

1114911149
case Intrinsic::ppc_mma_dmxxextfdmr512: {
11150+
assert(Subtarget.isISAFuture() && "dmxxextfdmr512 requires ISA Future");
1115011151
auto *Idx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
1115111152
assert(Idx && (Idx->getSExtValue() == 0 || Idx->getSExtValue() == 1) &&
1115211153
"Specify P of 0 or 1 for lower or upper 512 bytes");
@@ -11170,28 +11171,39 @@ SDValue PPCTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
1117011171
}
1117111172

1117211173
case Intrinsic::ppc_mma_dmxxextfdmr256: {
11174+
assert(Subtarget.isISAFuture() && "dmxxextfdmr256 requires ISA Future");
1117311175
auto *Idx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
1117411176
assert(Idx && (Idx->getSExtValue() >= 0 || Idx->getSExtValue() <= 3) &&
1117511177
"Specify a dmr row pair 0-3");
1117611178
unsigned IdxVal = Idx->getSExtValue();
11177-
unsigned Pairx;
11179+
unsigned Subx;
1117811180
switch (IdxVal) {
11179-
case 0: Pairx = PPC::sub_dmrrowp0; break;
11180-
case 1: Pairx = PPC::sub_dmrrowp1; break;
11181-
case 2: Pairx = PPC::sub_wacc_hi_then_sub_dmrrowp0; break;
11182-
case 3: Pairx = PPC::sub_wacc_hi_then_sub_dmrrowp1; break;
11181+
case 0:
11182+
Subx = PPC::sub_dmrrowp0;
11183+
break;
11184+
case 1:
11185+
Subx = PPC::sub_dmrrowp1;
11186+
break;
11187+
case 2:
11188+
Subx = PPC::sub_wacc_hi_then_sub_dmrrowp0;
11189+
break;
11190+
case 3:
11191+
Subx = PPC::sub_wacc_hi_then_sub_dmrrowp1;
11192+
break;
1118311193
}
11184-
SDValue Pair(
11194+
SDValue Subreg(
1118511195
DAG.getMachineNode(TargetOpcode::EXTRACT_SUBREG, dl, MVT::v256i1,
1118611196
Op.getOperand(1),
11187-
DAG.getTargetConstant(Pairx, dl, MVT::i32)),
11197+
DAG.getTargetConstant(Subx, dl, MVT::i32)),
1118811198
0);
11189-
SDValue C = DAG.getTargetConstant(IdxVal, dl, MVT::i32);
11199+
SDValue P = DAG.getTargetConstant(IdxVal, dl, MVT::i32);
1119011200
return SDValue(
11191-
DAG.getMachineNode(PPC::DMXXEXTFDMR256, dl, MVT::v256i1, {Pair, C}), 0);
11201+
DAG.getMachineNode(PPC::DMXXEXTFDMR256, dl, MVT::v256i1, {Subreg, P}),
11202+
0);
1119211203
}
1119311204

1119411205
case Intrinsic::ppc_mma_dmxxinstdmr512: {
11206+
assert(Subtarget.isISAFuture() && "dmxxinstdmr512 requires ISA Future");
1119511207
auto *Idx = dyn_cast<ConstantSDNode>(Op.getOperand(4));
1119611208
assert(Idx && (Idx->getSExtValue() == 0 || Idx->getSExtValue() == 1) &&
1119711209
"Specify P of 0 or 1 for lower or upper 512 bytes");
@@ -11205,41 +11217,43 @@ SDValue PPCTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
1120511217
Opcode = PPC::DMXXINSTDMR512_HI;
1120611218
Subx = PPC::sub_wacc_hi;
1120711219
}
11208-
SDValue Ops[] = { Op.getOperand(2), Op.getOperand(3) };
11209-
SDValue WideVec =
11210-
SDValue(DAG.getMachineNode(Opcode, dl, MVT::v512i1, Ops), 0);
11220+
SDValue Ops[] = {Op.getOperand(2), Op.getOperand(3)};
11221+
SDValue Wacc = SDValue(DAG.getMachineNode(Opcode, dl, MVT::v512i1, Ops), 0);
1121111222
SDValue SubReg = DAG.getTargetConstant(Subx, dl, MVT::i32);
11212-
return
11213-
SDValue(DAG.getMachineNode(PPC::INSERT_SUBREG, dl,
11214-
MVT::v1024i1, Op.getOperand(1), WideVec,
11215-
SubReg),
11216-
0);
11223+
return SDValue(DAG.getMachineNode(PPC::INSERT_SUBREG, dl, MVT::v1024i1,
11224+
Op.getOperand(1), Wacc, SubReg),
11225+
0);
1121711226
}
1121811227

1121911228
case Intrinsic::ppc_mma_dmxxinstdmr256: {
11229+
assert(Subtarget.isISAFuture() && "dmxxinstdmr256 requires ISA Future");
1122011230
auto *Idx = dyn_cast<ConstantSDNode>(Op.getOperand(3));
1122111231
assert(Idx && (Idx->getSExtValue() >= 0 || Idx->getSExtValue() <= 3) &&
1122211232
"Specify a dmr row pair 0-3");
1122311233
unsigned IdxVal = Idx->getSExtValue();
11224-
unsigned Pairx;
1122511234
unsigned Subx;
1122611235
switch (IdxVal) {
11227-
case 0: Subx = PPC::sub_dmrrowp0; break;
11228-
case 1: Subx = PPC::sub_dmrrowp1; break;
11229-
case 2: Subx = PPC::sub_wacc_hi_then_sub_dmrrowp0; break;
11230-
case 3: Subx = PPC::sub_wacc_hi_then_sub_dmrrowp1; break;
11236+
case 0:
11237+
Subx = PPC::sub_dmrrowp0;
11238+
break;
11239+
case 1:
11240+
Subx = PPC::sub_dmrrowp1;
11241+
break;
11242+
case 2:
11243+
Subx = PPC::sub_wacc_hi_then_sub_dmrrowp0;
11244+
break;
11245+
case 3:
11246+
Subx = PPC::sub_wacc_hi_then_sub_dmrrowp1;
11247+
break;
1123111248
}
1123211249
SDValue SubReg = DAG.getTargetConstant(Subx, dl, MVT::i32);
11233-
SDValue C = DAG.getTargetConstant(IdxVal, dl, MVT::i32);
11234-
SDValue Ops[] = { Op.getOperand(2), C };
11235-
SDValue WideVec =
11236-
SDValue(DAG.getMachineNode(PPC::DMXXINSTDMR256, dl, MVT::v512i1, Ops),
11237-
0);
11238-
return
11239-
SDValue(DAG.getMachineNode(PPC::INSERT_SUBREG, dl,
11240-
MVT::v1024i1, Op.getOperand(1), WideVec,
11241-
SubReg),
11242-
0);
11250+
SDValue P = DAG.getTargetConstant(IdxVal, dl, MVT::i32);
11251+
SDValue Ops[] = {Op.getOperand(2), P};
11252+
SDValue DMRRowp = SDValue(
11253+
DAG.getMachineNode(PPC::DMXXINSTDMR256, dl, MVT::v256i1, Ops), 0);
11254+
return SDValue(DAG.getMachineNode(PPC::INSERT_SUBREG, dl, MVT::v1024i1,
11255+
Op.getOperand(1), DMRRowp, SubReg),
11256+
0);
1124311257
}
1124411258

1124511259
case Intrinsic::ppc_mma_xxmfacc:

0 commit comments

Comments
 (0)