xref: /llvm-project/llvm/test/MC/ARM/pcrel-vldr-same-section.s (revision bbb3f9b1321176a012dac7d50da54b869a85e9bc)
1@ RUN: llvm-mc -filetype=obj -o %t %s -triple=armv8.2a-eabi
2@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=RELOC
3@ RUN: llvm-objdump -d --triple=armv8.2a-eabi      --mattr=+fullfp16 %t | FileCheck %s --check-prefix=ARM_OFFSET
4@ RUN: llvm-mc -filetype=obj -o %t %s -triple=armebv8.2a-eabi
5@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=RELOC
6@ RUN: llvm-objdump -d --triple=armebv8.2a-eabi    --mattr=+fullfp16 %t | FileCheck %s --check-prefix=ARM_OFFSET
7@ RUN: llvm-mc -filetype=obj -o %t %s -triple=thumbv8.2a-eabi
8@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=RELOC
9@ RUN: llvm-objdump -d --triple=thumbv8.2a-eabi    --mattr=+fullfp16 %t | FileCheck %s --check-prefix=THUMB_OFFSET
10@ RUN: llvm-mc -filetype=obj -o %t %s -triple=thumbebv8.2a-eabi
11@ RUN: llvm-readelf -r %t | FileCheck %s --check-prefix=RELOC
12@ RUN: llvm-objdump -d --triple=thumbebv8.2a-eabi  --mattr=+fullfp16 %t | FileCheck %s --check-prefix=THUMB_OFFSET
13
14         .arch_extension fp16
15baz:
16    .word 0x11223344, 0x55667788
17label:
18
19    vldr    s0, foo     @ arm_pcrel_10 / t2_pcrel_10
20    vldr    d0, foo     @ arm_pcrel_10 / t2_pcrel_10
21    vldr.16 s0, foo     @ arm_pcrel_9  / t2_pcrel_9
22    vldr    s0, bar-8
23    vldr    d0, bar-8
24    vldr.16 s0, bar-8
25    vldr    s0, baz
26    vldr    d0, baz
27    vldr.16 s0, baz
28    vldr    s0, label-8
29    vldr    d0, label-8
30    vldr.16 s0, label-8
31
32foo:
33    .word 0x11223344, 0x55667788
34bar:
35
36@ RELOC: There are no relocations in this file.
37
38@ ARM_OFFSET:   vldr    s0, [pc, #40]           @ 0x38 <foo>
39@ ARM_OFFSET:   vldr    d0, [pc, #36]           @ 0x38 <foo>
40@ ARM_OFFSET:   vldr.16 s0, [pc, #32]           @ 0x38 <foo>
41@ ARM_OFFSET:   vldr    s0, [pc, #28]           @ 0x38 <foo>
42@ ARM_OFFSET:   vldr    d0, [pc, #24]           @ 0x38 <foo>
43@ ARM_OFFSET:   vldr.16 s0, [pc, #20]           @ 0x38 <foo>
44@ ARM_OFFSET:   vldr    s0, [pc, #-40]          @ 0x0 <baz>
45@ ARM_OFFSET:   vldr    d0, [pc, #-44]          @ 0x0 <baz>
46@ ARM_OFFSET:   vldr.16 s0, [pc, #-48]          @ 0x0 <baz>
47@ ARM_OFFSET:   vldr    s0, [pc, #-52]          @ 0x0 <baz>
48@ ARM_OFFSET:   vldr    d0, [pc, #-56]          @ 0x0 <baz>
49@ ARM_OFFSET:   vldr.16 s0, [pc, #-60]          @ 0x0 <baz>
50@ THUMB_OFFSET: vldr    s0, [pc, #44]           @ 0x38 <foo>
51@ THUMB_OFFSET: vldr    d0, [pc, #40]           @ 0x38 <foo>
52@ THUMB_OFFSET: vldr.16 s0, [pc, #36]           @ 0x38 <foo>
53@ THUMB_OFFSET: vldr    s0, [pc, #32]           @ 0x38 <foo>
54@ THUMB_OFFSET: vldr    d0, [pc, #28]           @ 0x38 <foo>
55@ THUMB_OFFSET: vldr.16 s0, [pc, #24]           @ 0x38 <foo>
56@ THUMB_OFFSET: vldr    s0, [pc, #-36]          @ 0x0 <baz>
57@ THUMB_OFFSET: vldr    d0, [pc, #-40]          @ 0x0 <baz>
58@ THUMB_OFFSET: vldr.16 s0, [pc, #-44]          @ 0x0 <baz>
59@ THUMB_OFFSET: vldr    s0, [pc, #-48]          @ 0x0 <baz>
60@ THUMB_OFFSET: vldr    d0, [pc, #-52]          @ 0x0 <baz>
61@ THUMB_OFFSET: vldr.16 s0, [pc, #-56]          @ 0x0 <baz>
62