1// RUN: not llvm-mc -triple aarch64--none-eabi -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s
2
3// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
4  adr x0, distant
5
6// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
7  ldr x0, distant
8
9// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
10  ldr x0, unaligned
11
12// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
13  b.eq distant
14
15// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
16  b.eq unaligned
17
18// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
19  ldr x0, [x1, distant-.]
20
21// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 8-byte aligned
22  ldr x0, [x1, unaligned-.]
23
24// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
25  ldr w0, [x1, distant-.]
26
27// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 4-byte aligned
28  ldr w0, [x1, unaligned-.]
29
30// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
31  ldrh w0, [x1, distant-.]
32
33// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 2-byte aligned
34  ldrh w0, [x1, unaligned-.]
35
36// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
37  ldrb w0, [x1, distant-.]
38
39// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
40  ldr q0, [x1, distant-.]
41
42// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup must be 16-byte aligned
43  ldr q0, [x1, unaligned-.]
44
45// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
46  tbz x0, #1, distant
47
48// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
49  tbz x0, #1, unaligned
50
51// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup value out of range
52  b distant
53
54// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: fixup not sufficiently aligned
55  b unaligned
56
57  .byte 0
58unaligned:
59  .byte 0
60
61  .space 1<<27
62  .balign 8
63distant:
64  .word 0
65