@@ -3020,34 +3020,6 @@ bool AArch64InstructionSelector::select(MachineInstr &I) {
3020
3020
case TargetOpcode::G_INDEXED_STORE:
3021
3021
return selectIndexedStore (cast<GIndexedStore>(I), MRI);
3022
3022
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
- }
3051
3023
case TargetOpcode::G_LSHR:
3052
3024
case TargetOpcode::G_ASHR:
3053
3025
if (MRI.getType (I.getOperand (0 ).getReg ()).isVector ())
0 commit comments