diff options
author | Bill Wendling <isanbard@gmail.com> | 2010-08-19 00:05:48 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2010-08-19 00:05:48 +0000 |
commit | f0e132c385fa0196e1c9a744ee0aaceec527bc91 (patch) | |
tree | 37e09f0e43fcf8b27d3fb02bf919deb04432d781 /lib | |
parent | 5b38500197635e2f6d8bba5fe393d5969ed4e8b5 (diff) |
Add the "isCompare" attribute to the defm instead of each individual instr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111481 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMInstrThumb2.td | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td index 649b5c374c..7372631fe5 100644 --- a/lib/Target/ARM/ARMInstrThumb2.td +++ b/lib/Target/ARM/ARMInstrThumb2.td @@ -523,7 +523,7 @@ multiclass T2I_sh_ir<bits<2> opcod, string opc, PatFrag opnode> { /// T2I_cmp_irs - Defines a set of (op r, {so_imm|r|so_reg}) cmp / test /// patterns. Similar to T2I_bin_irs except the instruction does not produce /// a explicit result, only implicitly set CPSR. -let Defs = [CPSR] in { +let isCompare = 1, Defs = [CPSR] in { multiclass T2I_cmp_irs<bits<4> opcod, string opc, PatFrag opnode> { // shifted imm def ri : T2I<(outs), (ins GPR:$lhs, t2_so_imm:$rhs), IIC_iCMPi, @@ -2136,12 +2136,10 @@ def : T2Pat<(or (and rGPR:$src1, 0xFFFF0000), //===----------------------------------------------------------------------===// // Comparison Instructions... // -let isCompare = 1 in { defm t2CMP : T2I_cmp_irs<0b1101, "cmp", BinOpFrag<(ARMcmp node:$LHS, node:$RHS)>>; defm t2CMPz : T2I_cmp_irs<0b1101, "cmp", BinOpFrag<(ARMcmpZ node:$LHS, node:$RHS)>>; -} //FIXME: Disable CMN, as CCodes are backwards from compare expectations // Compare-to-zero still works out, just not the relationals |