Changes in directory llvm/lib/Target/ARM:

ARMInstrThumb.td updated: 1.12 -> 1.13
---
Log message:

.set pc relative displacement bug: label should be moved down one instruction
to just before the add r1, pc:

Before:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        mov r1, #PCRELV0
        add r1, pc

Now:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
        mov r1, #PCRELV0
LPCRELL0:
        add r1, pc


---
Diffs of the changes:  (+6 -6)

 ARMInstrThumb.td |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)


Index: llvm/lib/Target/ARM/ARMInstrThumb.td
diff -u llvm/lib/Target/ARM/ARMInstrThumb.td:1.12 
llvm/lib/Target/ARM/ARMInstrThumb.td:1.13
--- llvm/lib/Target/ARM/ARMInstrThumb.td:1.12   Wed Jan 31 19:49:46 2007
+++ llvm/lib/Target/ARM/ARMInstrThumb.td        Wed Jan 31 21:04:49 2007
@@ -480,17 +480,17 @@
 // assembler.
 def tLEApcrel : TIx2<(ops GPR:$dst, i32imm:$label),
                     !strconcat(!strconcat(".set PCRELV${:uid}, ($label-(",
-                                          "${:private}PCRELL${:uid}+4))\n"),
-                               !strconcat("${:private}PCRELL${:uid}:\n\t",
-                                   "mov $dst, #PCRELV${:uid}\n\tadd $dst, 
pc")),
+                                          "${:private}PCRELL${:uid}+6))\n"),
+                               !strconcat("\tmov $dst, #PCRELV${:uid}\n",
+                                  "${:private}PCRELL${:uid}:\n\tadd $dst, 
pc")),
                     []>;
 
 def tLEApcrelJT : TIx2<(ops GPR:$dst, i32imm:$label, i32imm:$id),
           !strconcat(!strconcat(".set PCRELV${:uid}, 
(${label}_${id:no_hash}-(",
                                          "${:private}PCRELL${:uid}+4))\n"),
-                              !strconcat("${:private}PCRELL${:uid}:\n\t",
-                                   "mov $dst, #PCRELV${:uid}\n\tadd $dst, 
pc")),
-                   []>;
+                     !strconcat("\tmov $dst, #PCRELV${:uid}\n",
+                                "${:private}PCRELL${:uid}:\n\tadd $dst, pc")),
+                    []>;
 
 
//===----------------------------------------------------------------------===//
 // Non-Instruction Patterns



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to