84 lines
2.5 KiB
ArmAsm
84 lines
2.5 KiB
ArmAsm
|
// RUN: not llvm-mc -triple aarch64--none-eabi -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s
|
||
|
// RUN: not llvm-mc -triple aarch64-windows -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
adr x0, distant
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldr x0, distant
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
|
||
|
ldr x0, unaligned
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
b.eq distant
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
|
||
|
b.eq unaligned
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldr x0, [x1, distant-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 8-byte aligned
|
||
|
ldr x0, [x1, unaligned-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldr w0, [x1, distant-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 4-byte aligned
|
||
|
ldr w0, [x1, unaligned-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldrh w0, [x1, distant-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 2-byte aligned
|
||
|
ldrh w0, [x1, unaligned-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldrb w0, [x1, distant-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
ldr q0, [x1, distant-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 16-byte aligned
|
||
|
ldr q0, [x1, unaligned-.]
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
tbz x0, #1, distant
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
|
||
|
tbz x0, #1, unaligned
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
b distant
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
|
||
|
b unaligned
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
movz x0, #:abs_g0:value1
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
movz x0, #:abs_g1:value2
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
movz x0, #:abs_g0_s:value1
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
|
||
|
movz x0, #:abs_g1_s:value2
|
||
|
|
||
|
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: relocation for a thread-local variable points to an absolute symbol
|
||
|
movz x0, #:tprel_g0:value1
|
||
|
|
||
|
|
||
|
.byte 0
|
||
|
unaligned:
|
||
|
.byte 0
|
||
|
|
||
|
.space 1<<27
|
||
|
.balign 8
|
||
|
distant:
|
||
|
.word 0
|
||
|
value1 = 0x12345678
|
||
|
value2 = 0x123456789
|