1 // RUN
: not llvm-mc
-triple aarch64
-filetype obj
< %s
-o
/dev
/null
2>&1 | FileCheck
%s
3 // COM
: Edge case testing for branches
and ADR
[P
]
4 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
5 // CHECK-NEXT
: adr x0
, adr_lower
7 adr x0
, adr_lower-
(1<<20)-1
9 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
10 // CHECK-NEXT
: adr x0
, adr_upper
12 adr x0
, adr_upper+
(1<<20)
14 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
15 // CHECK-NEXT
: b b_lower
19 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
20 // CHECK-NEXT
: b b_upper
24 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
25 // CHECK-NEXT
: beq beq_lower
27 beq beq_lower-
(1<<20)-4
29 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
30 // CHECK-NEXT
: beq beq_upper
34 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
35 // CHECK-NEXT
: ldr x0
, ldr_lower
37 ldr x0
, ldr_lower-
(1<<20)-4
39 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
40 // CHECK-NEXT
: ldr x0
, ldr_upper
42 ldr x0
, ldr_upper+
(1<<20)
44 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
45 // CHECK-NEXT
: tbz x0
, #1, tbz_lower
47 tbz x0
, #1, tbz_lower-(1<<15)-4
49 // CHECK-LABEL
: :{{[0-9]+}}:{{[0-9]+}}: error
: fixup value out of range
50 // CHECK-NEXT
: tbz x0
, #1, tbz_upper
52 tbz x0
, #1, tbz_upper+(1<<15)