@@ Check that PC-relative memory addressing is annotated
@ RUN: llvm-mc %s -triple=armv7 -filetype=obj | \
@ RUN: llvm-objdump -d --no-show-raw-insn --triple=armv7 - | \
@ RUN: FileCheck %s
.text
foo:
@ CHECK: 00000000 <foo>:
.word 0x01020304
_start:
@ CHECK: 00000004 <_start>:
@@ Check a special case immediate for AddrMode_i12
ldr r1, [pc, @ CHECK-NEXT: 4: ldr r1, [pc,
@@ Check AddrMode_i12 instructions, with positive and negative immediates
ldr r0, foo
ldrb r0, bar
pli _start
pld bar
@ CHECK-NEXT: 8: ldr r0, [pc, @ CHECK-NEXT: c: ldrb r0, [pc, @ CHECK-NEXT: 10: pli [pc, @ CHECK-NEXT: 14: pld [pc,
@@ Check that AddrMode_i12 instructions that do not use PC-relative addressing
@@ are not annotated
ldr r0, [r1, @ CHECK-NEXT: 18: ldr r0, [r1,
@@ Check AddrMode3 instructions, with positive and negative immediates
ldrd r0, r1, foo
ldrh r0, bar
@ CHECK-NEXT: 1c: ldrd r0, r1, [pc, @ CHECK-NEXT: 20: ldrh r0, [pc,
@@ Check that AddrMode3 instruction that do not use PC+imm addressing are not
@@ annotated
ldrh r0, [r1, ldrh r0, [pc, r2]
@ CHECK-NEXT: 24: ldrh r0, [r1, @ CHECK-NEXT: 28: ldrh r0, [pc, r2]{{$}}
@@ Check AddrMode5 instructions, with positive and negative immediates
ldc p14, c5, foo
ldcl p6, c4, bar
ldc2 p5, c2, foo
ldc2l p3, c1, bar
@ CHECK-NEXT: 2c: ldc p14, c5, [pc, @ CHECK-NEXT: 30: ldcl p6, c4, [pc, @ CHECK-NEXT: 34: ldc2 p5, c2, [pc, @ CHECK-NEXT: 38: ldc2l p3, c1, [pc,
@@ Check that AddrMode5 instruction that do not use PC+imm addressing are not
@@ annotated
ldc p14, c5, [r1, ldc p14, c5, [pc], {16}
@ CHECK-NEXT: 3c: ldc p14, c5, [r1, @ CHECK-NEXT: 40: ldc p14, c5, [pc], {16}{{$}}
bar:
@ CHECK: 00000044 <bar>:
.word 0x01020304