forked from OSchip/llvm-project
[WebAssembly] Set ctlz_zero_undef/cttz_zero_undef to Expand so LegalizeDAG will convert them to ctlz/cttz. Remove the now unneccessary isel patterns. NFC
llvm-svn: 267264
This commit is contained in:
parent
70e2766fb4
commit
b297b6b0c9
|
@ -97,7 +97,7 @@ WebAssemblyTargetLowering::WebAssemblyTargetLowering(
|
|||
{ISD::BSWAP, ISD::SMUL_LOHI, ISD::UMUL_LOHI,
|
||||
ISD::MULHS, ISD::MULHU, ISD::SDIVREM, ISD::UDIVREM, ISD::SHL_PARTS,
|
||||
ISD::SRA_PARTS, ISD::SRL_PARTS, ISD::ADDC, ISD::ADDE, ISD::SUBC,
|
||||
ISD::SUBE}) {
|
||||
ISD::SUBE, ISD::CTLZ_ZERO_UNDEF, ISD::CTTZ_ZERO_UNDEF}) {
|
||||
setOperationAction(Op, T, Expand);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,12 +65,6 @@ def EQZ_I64 : I<(outs I32:$dst), (ins I64:$src),
|
|||
|
||||
} // Defs = [ARGUMENTS]
|
||||
|
||||
// Expand the "don't care" operations to supported operations.
|
||||
def : Pat<(ctlz_zero_undef I32:$src), (CLZ_I32 I32:$src)>;
|
||||
def : Pat<(ctlz_zero_undef I64:$src), (CLZ_I64 I64:$src)>;
|
||||
def : Pat<(cttz_zero_undef I32:$src), (CTZ_I32 I32:$src)>;
|
||||
def : Pat<(cttz_zero_undef I64:$src), (CTZ_I64 I64:$src)>;
|
||||
|
||||
// Optimize away an explicit mask on a rotate count.
|
||||
def : Pat<(rotl I32:$lhs, (and I32:$rhs, 31)), (ROTL_I32 I32:$lhs, I32:$rhs)>;
|
||||
def : Pat<(rotr I32:$lhs, (and I32:$rhs, 31)), (ROTR_I32 I32:$lhs, I32:$rhs)>;
|
||||
|
|
Loading…
Reference in New Issue