diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-04-22 05:13:01 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-04-22 05:13:01 +0000 |
commit | 444317bb33dcec3432ae223c3c49d0cc117bcfbe (patch) | |
tree | 43343ec9606de911f3d4d5bc0f524c9fba9e2acf | |
parent | 47d04096681abc21ca3bb750059e1b28eb88a570 (diff) | |
download | bcm5719-llvm-444317bb33dcec3432ae223c3c49d0cc117bcfbe.tar.gz bcm5719-llvm-444317bb33dcec3432ae223c3c49d0cc117bcfbe.zip |
[Lanai] Set CTLZ_ZERO_UNDEF/CTTZ_ZERO_UNDEF to Expand instead of Legal so they will be converted to CTLZ/CTTZ by LegalizeDAG. Remove extra instructions that only existed to to contain patterns that match the zero_undef operations. NFC
llvm-svn: 267108
-rw-r--r-- | llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Target/Lanai/LanaiInstrInfo.td | 9 |
2 files changed, 2 insertions, 11 deletions
diff --git a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp index d4a50e867d4..594aea23c41 100644 --- a/llvm/lib/Target/Lanai/LanaiISelLowering.cpp +++ b/llvm/lib/Target/Lanai/LanaiISelLowering.cpp @@ -111,9 +111,9 @@ LanaiTargetLowering::LanaiTargetLowering(const TargetMachine &TM, setOperationAction(ISD::BSWAP, MVT::i32, Expand); setOperationAction(ISD::CTPOP, MVT::i32, Legal); setOperationAction(ISD::CTLZ, MVT::i32, Legal); - setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Legal); + setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Expand); setOperationAction(ISD::CTTZ, MVT::i32, Legal); - setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Legal); + setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Expand); setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1, Expand); setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8, Expand); diff --git a/llvm/lib/Target/Lanai/LanaiInstrInfo.td b/llvm/lib/Target/Lanai/LanaiInstrInfo.td index 217cdd45b39..20dd4ee58fa 100644 --- a/llvm/lib/Target/Lanai/LanaiInstrInfo.td +++ b/llvm/lib/Target/Lanai/LanaiInstrInfo.td @@ -823,20 +823,11 @@ def POPC: InstSpecial<0b001, (outs GPR:$Rd), (ins GPR:$Rs1), // Count Leading Zeros (LEADZ) def LEADZ: InstSpecial<0b010, (outs GPR:$Rd), (ins GPR:$Rs1), "leadz\t$Rs1, $Rd", [(set GPR:$Rd, (ctlz GPR:$Rs1))]>; -let isCodeGenOnly = 1 in - def LEADZUNDEF: InstSpecial<0b010, (outs GPR:$Rd), (ins GPR:$Rs1), - "leadz\t$Rs1, $Rd", - [(set GPR:$Rd, (ctlz_zero_undef GPR:$Rs1))]>; // Count Trailing Zeros (TRAILZ) def TRAILZ : InstSpecial<0b011, (outs GPR:$Rd), (ins GPR:$Rs1), "trailz\t$Rs1, $Rd", [(set GPR:$Rd, (cttz GPR:$Rs1))]>; -let isCodeGenOnly = 1 in - def TRAILZUNDEF : InstSpecial<0b011, (outs GPR:$Rd), (ins GPR:$Rs1), - "trailz\t$Rs1, $Rd", - [(set GPR:$Rd, - (cttz_zero_undef GPR:$Rs1))]>; } //===----------------------------------------------------------------------===// |