[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td
Evan Cheng
evan.cheng at apple.com
Thu May 31 17:56:37 PDT 2007
Changes in directory llvm/lib/Target/ARM:
ARMInstrInfo.td updated: 1.107 -> 1.108
---
Log message:
Make jumptable non-predicable for now.
---
Diffs of the changes: (+10 -11)
ARMInstrInfo.td | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
Index: llvm/lib/Target/ARM/ARMInstrInfo.td
diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.107 llvm/lib/Target/ARM/ARMInstrInfo.td:1.108
--- llvm/lib/Target/ARM/ARMInstrInfo.td:1.107 Tue May 29 18:32:06 2007
+++ llvm/lib/Target/ARM/ARMInstrInfo.td Thu May 31 19:56:15 2007
@@ -400,14 +400,6 @@
class AI3po<dag ops, string opc, string asm, string cstr, list<dag> pattern>
: I<ops, AddrMode3, Size4Bytes, IndexModePost, opc, asm, cstr, pattern>;
-// BR_JT instructions
-class JTI<dag ops, string opc, string asm, list<dag> pattern>
- : I<ops, AddrModeNone, SizeSpecial, IndexModeNone, opc, asm, "", pattern>;
-class JTI1<dag ops, string opc, string asm, list<dag> pattern>
- : I<ops, AddrMode1, SizeSpecial, IndexModeNone, opc, asm, "", pattern>;
-class JTI2<dag ops, string opc, string asm, list<dag> pattern>
- : I<ops, AddrMode2, SizeSpecial, IndexModeNone, opc, asm, "", pattern>;
-
class BinOpFrag<dag res> : PatFrag<(ops node:$LHS, node:$RHS), res>;
class UnOpFrag <dag res> : PatFrag<(ops node:$Src), res>;
@@ -516,6 +508,13 @@
class AXIx2<dag ops, string asm, list<dag> pattern>
: XI<ops, AddrModeNone, Size8Bytes, IndexModeNone, asm, "", pattern>;
+// BR_JT instructions
+class JTI<dag ops, string asm, list<dag> pattern>
+ : XI<ops, AddrModeNone, SizeSpecial, IndexModeNone, asm, "", pattern>;
+class JTI1<dag ops, string asm, list<dag> pattern>
+ : XI<ops, AddrMode1, SizeSpecial, IndexModeNone, asm, "", pattern>;
+class JTI2<dag ops, string asm, list<dag> pattern>
+ : XI<ops, AddrMode2, SizeSpecial, IndexModeNone, asm, "", pattern>;
//===----------------------------------------------------------------------===//
// Instructions
@@ -639,14 +638,14 @@
[(br bb:$dst)]>;
def BR_JTr : JTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id),
- "mov", " pc, $dst \n$jt",
+ "mov pc, $dst \n$jt",
[(ARMbrjt GPR:$dst, tjumptable:$jt, imm:$id)]>;
def BR_JTm : JTI2<(ops addrmode2:$dst, jtblock_operand:$jt, i32imm:$id),
- "ldr", " pc, $dst \n$jt",
+ "ldr pc, $dst \n$jt",
[(ARMbrjt (i32 (load addrmode2:$dst)), tjumptable:$jt,
imm:$id)]>;
def BR_JTadd : JTI1<(ops GPR:$dst, GPR:$idx, jtblock_operand:$jt, i32imm:$id),
- "add", " pc, $dst, $idx \n$jt",
+ "add pc, $dst, $idx \n$jt",
[(ARMbrjt (add GPR:$dst, GPR:$idx), tjumptable:$jt,
imm:$id)]>;
}
More information about the llvm-commits
mailing list