Thumb assembly parsing and encoding for ADR.
authorJim Grosbach <grosbach@apple.com>
Wed, 17 Aug 2011 20:37:40 +0000 (20:37 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 17 Aug 2011 20:37:40 +0000 (20:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137864 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb.td
test/CodeGen/ARM/select.ll
test/MC/ARM/basic-thumb-instructions.s

index ffc74990dd2c813c4deb5e0aedd57360bee5ad46..f9278773228d454ac4796d91f7852950e610ccbe 100644 (file)
@@ -1189,7 +1189,7 @@ let usesCustomInserter = 1 in  // Expanded after instruction selection.
 // assembler.
 
 def tADR : T1I<(outs tGPR:$Rd), (ins t_adrlabel:$addr, pred:$p),
-               IIC_iALUi, "adr{$p}\t$Rd, #$addr", []>,
+               IIC_iALUi, "adr{$p}\t$Rd, $addr", []>,
                T1Encoding<{1,0,1,0,0,?}> {
   bits<3> Rd;
   bits<8> addr;
index d1493ee56e4bf7791cf36d6c4b88e2588fb74fbc..a19c04452a7be1aedb578e4041e35215449bf132 100644 (file)
@@ -81,7 +81,7 @@ define double @f7(double %a, double %b) {
 ; CHECK-NEON-NEXT: cmp    r0, [[REGISTER_1]]
 ; CHECK-NEON-NEXT: it     eq
 ; CHECK-NEON-NEXT: moveq  [[REGISTER_2]], #4
-; CHECK-NEON-NEXT: adr    [[REGISTER_3:r[0-9]+]], #LCPI
+; CHECK-NEON-NEXT: adr    [[REGISTER_3:r[0-9]+]], LCPI
 ; CHECK-NEON-NEXT: ldr
 ; CHECK-NEON:      bx
 
index 4cdbf61e32d4c579280346c97a3719b3a34c62e2..340743ed0985634e5d507a8f7a00987e2b914dec 100644 (file)
@@ -47,3 +47,12 @@ _func:
 @------------------------------------------------------------------------------
 @ FIXME: ADD (SP plus register)
 @------------------------------------------------------------------------------
+
+
+@------------------------------------------------------------------------------
+@ ADR
+@------------------------------------------------------------------------------
+        adr r2, _baz
+
+@ CHECK: adr   r2, _baz                @ encoding: [A,0xa2]
+            @   fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10