[AArch64] ldr= pseudo-instruction silently ignored if register invalid
[oota-llvm.git] / test / MC / AArch64 / ldr-pseudo-diagnostics.s
1 //RUN: not llvm-mc -triple=aarch64-linux-gnu - < %s 2>&1 | FileCheck --check-prefix=CHECK-ERROR %s
2
3 // simple test
4 .section a, "ax", @progbits
5 f1:
6   ldr w0, =0x100000001
7 // CHECK-ERROR: error: Immediate too large for register
8 // CHECK-ERROR:   ldr w0, =0x100000001
9 // CHECK-ERROR:           ^
10 f2:
11   ldr w0, =-0x80000001
12 // CHECK-ERROR: error: Immediate too large for register
13 // CHECK-ERROR:  ldr w0, =-0x80000001
14 // CHECK-ERROR:          ^
15
16 f3:
17   ldr foo, =1
18 // CHECK-ERROR: error: Only valid when first operand is register
19 // CHECK-ERROR:   ldr foo, =1
20 // CHECK-ERROR:            ^
21
22 f4:
23   add r0, r0, =1
24 // CHECK-ERROR: error: unexpected token in operand
25 // CHECK-ERROR:   add r0, r0, =1
26 // CHECK-ERROR:               ^
27
28 f5:
29   ldr x0, =())
30 // CHECK-ERROR: error: unknown token in expression
31 // CHECK-ERROR:   ldr x0, =())
32 // CHECK-ERROR:             ^