@@ -2958,17 +2958,15 @@ AArch64TargetLowering::EmitZAInstr(unsigned Opc, unsigned BaseReg,
2958
2958
bool HasZPROut = HasTile && MI.getOperand(0).isReg();
2959
2959
if (HasZPROut) {
2960
2960
MIB.add(MI.getOperand(0)); // Output ZPR
2961
- MIB.addReg(BaseReg + MI.getOperand(1).getImm(),
2962
- RegState::Define); // Output ZA Tile
2963
- MIB.addReg(BaseReg + MI.getOperand(1).getImm()); // Input Za Tile
2964
- StartIdx = 2;
2961
+ ++StartIdx;
2962
+ }
2963
+ if (HasTile) {
2964
+ MIB.addReg(BaseReg + MI.getOperand(StartIdx).getImm(),
2965
+ RegState::Define); // Output ZA Tile
2966
+ MIB.addReg(BaseReg + MI.getOperand(StartIdx).getImm()); // Input Za Tile
2967
+ StartIdx++;
2965
2968
} else {
2966
- if (HasTile) {
2967
- MIB.addReg(BaseReg + MI.getOperand(0).getImm(), RegState::Define);
2968
- MIB.addReg(BaseReg + MI.getOperand(0).getImm());
2969
- StartIdx = 1;
2970
- } else
2971
- MIB.addReg(BaseReg, RegState::Define).addReg(BaseReg);
2969
+ MIB.addReg(BaseReg, RegState::Define).addReg(BaseReg);
2972
2970
}
2973
2971
for (unsigned I = StartIdx; I < MI.getNumOperands(); ++I)
2974
2972
MIB.add(MI.getOperand(I));
@@ -3009,7 +3007,6 @@ MachineBasicBlock *AArch64TargetLowering::EmitInstrWithCustomInserter(
3009
3007
return EmitZAInstr(SMEOrigInstr, AArch64::ZAB0, MI, BB);
3010
3008
case (AArch64::SMEMatrixTileH):
3011
3009
return EmitZAInstr(SMEOrigInstr, AArch64::ZAH0, MI, BB);
3012
- ///*HasTile*/ true, /*HasZPROut*/ false);
3013
3010
case (AArch64::SMEMatrixTileS):
3014
3011
return EmitZAInstr(SMEOrigInstr, AArch64::ZAS0, MI, BB);
3015
3012
case (AArch64::SMEMatrixTileD):
0 commit comments