54 lines · plain
1// RUN: not llvm-mc -triple aarch64 -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s2 3// COM: Edge case testing for branches and ADR[P]4// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range5// CHECK-NEXT: adr x0, adr_lower6adr_lower:7 adr x0, adr_lower-(1<<20)-18 9// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range10// CHECK-NEXT: adr x0, adr_upper11adr_upper:12 adr x0, adr_upper+(1<<20)13 14// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range15// CHECK-NEXT: b b_lower16b_lower:17 b b_lower-(1<<27)-418 19// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range20// CHECK-NEXT: b b_upper21b_upper:22 b b_upper+(1<<27)23 24// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range25// CHECK-NEXT: beq beq_lower26beq_lower:27 beq beq_lower-(1<<20)-428 29// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range30// CHECK-NEXT: beq beq_upper31beq_upper:32 beq beq_upper+(1<<20)33 34// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range35// CHECK-NEXT: ldr x0, ldr_lower36ldr_lower:37 ldr x0, ldr_lower-(1<<20)-438 39// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range40// CHECK-NEXT: ldr x0, ldr_upper41ldr_upper:42 ldr x0, ldr_upper+(1<<20)43 44// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range45// CHECK-NEXT: tbz x0, #1, tbz_lower46tbz_lower:47 tbz x0, #1, tbz_lower-(1<<15)-448 49// CHECK-LABEL: :{{[0-9]+}}:{{[0-9]+}}: error: fixup value out of range50// CHECK-NEXT: tbz x0, #1, tbz_upper51tbz_upper:52 tbz x0, #1, tbz_upper+(1<<15)53 54