[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / ARM / vldm-vstm-diags.s
blobacefa71ccaf3ff9c0266f895d5ee2cb5352476e8
1 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-D32
2 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null -mattr=-d32 %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-D16
4 // First operand must be a GPR
5 vldm s0, {s1, s2}
6 // CHECK: error: operand must be a register in range [r0, r15]
7 // CHECK-NEXT: vldm s0, {s1, s2}
9 vstm s0, {s1, s2}
10 // CHECK: error: operand must be a register in range [r0, r15]
11 // CHECK-NEXT: vstm s0, {s1, s2}
14 // Second operand must be a list of SPRs or DPRs
15 vldm r0, {r1, r2}
16 // CHECK: error: invalid instruction, any one of the following would fix this:
17 // CHECK-NEXT: vldm r0, {r1, r2}
18 // CHECK: note: operand must be a list of registers in range [s0, s31]
19 // CHECK-D32: note: operand must be a list of registers in range [d0, d31]
20 // CHECK-D16: note: operand must be a list of registers in range [d0, d15]
21 vldm r0, #42
22 // CHECK: error: invalid instruction, any one of the following would fix this:
23 // CHECK-NEXT: vldm r0, #42
24 // CHECK: note: operand must be a list of registers in range [s0, s31]
25 // CHECK-D32: note: operand must be a list of registers in range [d0, d31]
26 // CHECK-D16: note: operand must be a list of registers in range [d0, d15]
27 vldm r0, {s1, d2}
28 // CHECK: error: invalid register in register list
29 // CHECK-NEXT: vldm r0, {s1, d2}
30 vstm r0, {r1, r2}
31 // CHECK: error: invalid instruction, any one of the following would fix this:
32 // CHECK-NEXT: vstm r0, {r1, r2}
33 // CHECK: note: operand must be a list of registers in range [s0, s31]
34 // CHECK-D32: note: operand must be a list of registers in range [d0, d31]
35 // CHECK-D16: note: operand must be a list of registers in range [d0, d15]
36 vstm r0, #42
37 // CHECK: error: invalid instruction, any one of the following would fix this:
38 // CHECK-NEXT: vstm r0, #42
39 // CHECK: note: operand must be a list of registers in range [s0, s31]
40 // CHECK-D32: note: operand must be a list of registers in range [d0, d31]
41 // CHECK-D16: note: operand must be a list of registers in range [d0, d15]
42 vstm r0, {s1, d2}
43 // CHECK: error: invalid register in register list
44 // CHECK-NEXT: vstm r0, {s1, d2}