Skip to content

Commit 887ed6d

Browse files
authored
[AArch64][GlobalISel] Remove mulh c++ lowering (llvm#81105)
I believe these should be selectable via tablegen patterns nowadays.
1 parent c3dfbb6 commit 887ed6d

File tree

1 file changed

+0
-28
lines changed

1 file changed

+0
-28
lines changed

llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3020,34 +3020,6 @@ bool AArch64InstructionSelector::select(MachineInstr &I) {
30203020
case TargetOpcode::G_INDEXED_STORE:
30213021
return selectIndexedStore(cast<GIndexedStore>(I), MRI);
30223022

3023-
case TargetOpcode::G_SMULH:
3024-
case TargetOpcode::G_UMULH: {
3025-
// Reject the various things we don't support yet.
3026-
if (unsupportedBinOp(I, RBI, MRI, TRI))
3027-
return false;
3028-
3029-
const Register DefReg = I.getOperand(0).getReg();
3030-
const RegisterBank &RB = *RBI.getRegBank(DefReg, MRI, TRI);
3031-
3032-
if (RB.getID() != AArch64::GPRRegBankID) {
3033-
LLVM_DEBUG(dbgs() << "G_[SU]MULH on bank: " << RB << ", expected: GPR\n");
3034-
return false;
3035-
}
3036-
3037-
if (Ty != LLT::scalar(64)) {
3038-
LLVM_DEBUG(dbgs() << "G_[SU]MULH has type: " << Ty
3039-
<< ", expected: " << LLT::scalar(64) << '\n');
3040-
return false;
3041-
}
3042-
3043-
unsigned NewOpc = I.getOpcode() == TargetOpcode::G_SMULH ? AArch64::SMULHrr
3044-
: AArch64::UMULHrr;
3045-
I.setDesc(TII.get(NewOpc));
3046-
3047-
// Now that we selected an opcode, we need to constrain the register
3048-
// operands to use appropriate classes.
3049-
return constrainSelectedInstRegOperands(I, TII, TRI, RBI);
3050-
}
30513023
case TargetOpcode::G_LSHR:
30523024
case TargetOpcode::G_ASHR:
30533025
if (MRI.getType(I.getOperand(0).getReg()).isVector())

0 commit comments

Comments
 (0)