forked from OSchip/llvm-project
[AArch64] Set i32 ISD::MULHU/S to Expand instead of Legal.
Looks like there are no isel patterns for these. A DAG combine turns it into i64 multiply and a shift which hides this. Extracted from D80485
This commit is contained in:
parent
1f72d5880e
commit
80cc43b420
|
@ -354,6 +354,10 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
|
|||
setOperationAction(ISD::ROTR, VT, Expand);
|
||||
}
|
||||
|
||||
// AArch64 doesn't have i32 MULH{S|U}.
|
||||
setOperationAction(ISD::MULHU, MVT::i32, Expand);
|
||||
setOperationAction(ISD::MULHS, MVT::i32, Expand);
|
||||
|
||||
// AArch64 doesn't have {U|S}MUL_LOHI.
|
||||
setOperationAction(ISD::UMUL_LOHI, MVT::i64, Expand);
|
||||
setOperationAction(ISD::SMUL_LOHI, MVT::i64, Expand);
|
||||
|
|
Loading…
Reference in New Issue