[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td README.txt

Rafael Espindola rafael.espindola at gmail.com
Mon Oct 16 10:17:39 PDT 2006



Changes in directory llvm/lib/Target/ARM:

ARMInstrInfo.td updated: 1.50 -> 1.51
README.txt updated: 1.6 -> 1.7
---
Log message:

implement LDRB, LDRSB, LDRH and LDRSH


---
Diffs of the changes:  (+20 -0)

 ARMInstrInfo.td |   16 ++++++++++++++++
 README.txt      |    4 ++++
 2 files changed, 20 insertions(+)


Index: llvm/lib/Target/ARM/ARMInstrInfo.td
diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.50 llvm/lib/Target/ARM/ARMInstrInfo.td:1.51
--- llvm/lib/Target/ARM/ARMInstrInfo.td:1.50	Mon Oct 16 11:33:29 2006
+++ llvm/lib/Target/ARM/ARMInstrInfo.td	Mon Oct 16 12:17:21 2006
@@ -113,6 +113,22 @@
                      "ldr $dst, $addr",
                      [(set IntRegs:$dst, (load iaddr:$addr))]>;
 
+def LDRB    : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
+                       "ldrb $dst, $addr",
+                       [(set IntRegs:$dst, (zextloadi8 IntRegs:$addr))]>;
+
+def LDRSB   : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
+                       "ldrsb $dst, $addr",
+                       [(set IntRegs:$dst, (sextloadi8 IntRegs:$addr))]>;
+
+def LDRH    : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
+                       "ldrh $dst, $addr",
+                       [(set IntRegs:$dst, (zextloadi16 IntRegs:$addr))]>;
+
+def LDRSH   : InstARM<(ops IntRegs:$dst, IntRegs:$addr),
+                       "ldrsh $dst, $addr",
+                       [(set IntRegs:$dst, (sextloadi16 IntRegs:$addr))]>;
+
 def str  : InstARM<(ops IntRegs:$src, memri:$addr),
                     "str $src, $addr",
                     [(store IntRegs:$src, iaddr:$addr)]>;


Index: llvm/lib/Target/ARM/README.txt
diff -u llvm/lib/Target/ARM/README.txt:1.6 llvm/lib/Target/ARM/README.txt:1.7
--- llvm/lib/Target/ARM/README.txt:1.6	Mon Oct 16 11:33:29 2006
+++ llvm/lib/Target/ARM/README.txt	Mon Oct 16 12:17:21 2006
@@ -51,3 +51,7 @@
 should try to declare smull and umull as returning two values.
 
 ----------------------------------------------------------
+
+Implement addressing modes 2 (ldrb) and 3 (ldrsb)
+
+----------------------------------------------------------






More information about the llvm-commits mailing list