|
15 | 15 |
|
16 | 16 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
17 | 17 | // CHECK-NONARM-NEXT: lsl pc, r0, #0
|
18 |
| -// CHECK-NONARM: instruction requires: arm-mode |
19 |
| -// CHECK-NONARM: invalid operand for instruction |
| 18 | +// CHECK-NONARM: note: instruction requires: arm-mode |
| 19 | +// CHECK-NONARM: note: operand must be a register in range [r0, r14] |
20 | 20 |
|
21 | 21 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
22 | 22 | // CHECK-NONARM-NEXT: lsl r0, pc, #0
|
23 |
| -// CHECK-NONARM: instruction requires: arm-mode |
24 |
| -// CHECK-NONARM: invalid operand for instruction |
| 23 | +// CHECK-NONARM: note: instruction requires: arm-mode |
| 24 | +// CHECK-NONARM: note: operand must be a register in range [r0, r14] |
25 | 25 |
|
26 | 26 | // CHECK-NONARM: error: instruction requires: arm-mode
|
27 | 27 | // CHECK-NONARM-NEXT: lsl pc, pc, #0
|
28 | 28 |
|
29 | 29 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
30 | 30 | // CHECK-NONARM-NEXT: lsls pc, r0, #0
|
31 |
| -// CHECK-NONARM: instruction requires: arm-mode |
32 |
| -// CHECK-NONARM: invalid operand for instruction |
| 31 | +// CHECK-NONARM: note: instruction requires: arm-mode |
| 32 | +// CHECK-NONARM: note: operand must be a register in range [r0, r14] |
33 | 33 |
|
34 | 34 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
35 | 35 | // CHECK-NONARM-NEXT: lsls r0, pc, #0
|
36 |
| -// CHECK-NONARM: instruction requires: arm-mode |
37 |
| -// CHECK-NONARM: invalid operand for instruction |
| 36 | +// CHECK-NONARM: note: instruction requires: arm-mode |
| 37 | +// CHECK-NONARM: note: operand must be a register in range [r0, r14] |
38 | 38 |
|
39 | 39 | // CHECK-NONARM: error: instruction requires: arm-mode
|
40 | 40 | // CHECK-NONARM-NEXT: lsls pc, pc, #0
|
|
55 | 55 |
|
56 | 56 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
57 | 57 | // CHECK-NONARM-NEXT: mov pc, r0, lsl #0
|
58 |
| -// CHECK-NONARM: invalid operand for instruction |
59 |
| -// CHECK-NONARM: invalid operand for instruction |
| 58 | +// CHECK-NONARM: note: operand must be a register in range [r0, r15] |
| 59 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r12] or r14 |
| 60 | +// CHECK-THUMBV8: note: operand must be a register in range [r0, r14] |
| 61 | + |
60 | 62 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
61 | 63 | // CHECK-NONARM-NEXT: mov r0, pc, lsl #0
|
62 |
| -// CHECK-NONARM: invalid operand for instruction |
63 |
| -// CHECK-NONARM: invalid operand for instruction |
64 |
| -// CHECK-NONARM: operand must be an immediate in the range [256,65535] |
| 64 | +// CHECK-NONARM: note: operand must be a register in range [r0, r15] |
| 65 | +// CHECK-NONARM: note: invalid operand for instruction |
| 66 | +// CHECK-NONARM: note: invalid operand for instruction |
| 67 | +// CHECK-NONARM: note: operand must be an immediate in the range [256,65535] |
| 68 | + |
65 | 69 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
66 | 70 | // CHECK-NONARM-NEXT: mov pc, pc, lsl #0
|
67 |
| -// CHECK-NONARM: invalid operand for instruction |
68 |
| -// CHECK-NONARM: invalid operand for instruction |
69 |
| -// CHECK-NONARM: error: invalid operand for instruction |
| 71 | +// CHECK-NONARM: note: operand must be a register in range [r0, r15] |
| 72 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r12] or r14 |
| 73 | +// CHECK-THUMBV8: note: operand must be a register in range [r0, r14] |
| 74 | + |
| 75 | +// CHECK-THUMBV7: error: operand must be a register in range [r0, r12] or r14 |
| 76 | +// CHECK-THUMBV8: error: operand must be a register in range [r0, r14] |
70 | 77 | // CHECK-NONARM-NEXT: movs pc, r0, lsl #0
|
| 78 | + |
71 | 79 | // CHECK-NONARM: error: invalid instruction, any one of the following would fix this:
|
72 | 80 | // CHECK-NONARM-NEXT: movs r0, pc, lsl #0
|
73 |
| -// CHECK-NONARM: invalid operand for instruction |
74 |
| -// CHECK-NONARM: invalid operand for instruction |
75 |
| -// CHECK-NONARM: error: invalid operand for instruction |
| 81 | +// CHECK-NONARM: note: operand must be a register in range [r0, r14] |
| 82 | +// CHECK-NONARM: note: invalid operand for instruction |
| 83 | +// CHECK-NONARM: note: invalid operand for instruction |
| 84 | + |
| 85 | +// CHECK-THUMBV7: error: operand must be a register in range [r0, r12] or r14 |
| 86 | +// CHECK-THUMBV8: error: operand must be a register in range [r0, r14] |
76 | 87 | // CHECK-NONARM-NEXT: movs pc, pc, lsl #0
|
77 | 88 |
|
78 | 89 | // CHECK-ARM: mov pc, r0 @ encoding: [0x00,0xf0,0xa0,0xe1]
|
|
118 | 129 |
|
119 | 130 | // FIXME: We should consistently have the "requires ARMv8" error here
|
120 | 131 | // CHECK-THUMBV7: error: invalid instruction, any one of the following would fix this:
|
121 |
| -// CHECK-THUMBV7: invalid operand for instruction |
122 | 132 | // CHECK-THUMBV7-NEXT: mov sp, sp, lsl #0
|
| 133 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r15] |
| 134 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r12] or r14 |
| 135 | + |
123 | 136 | // CHECK-THUMBV7: error: invalid instruction, any one of the following would fix this:
|
124 |
| -// CHECK-THUMBV7: invalid operand for instruction |
125 | 137 | // CHECK-THUMBV7-NEXT: movs sp, sp, lsl #0
|
| 138 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r14] |
| 139 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r12] or r14 |
| 140 | + |
126 | 141 | // CHECK-THUMBV7: error: invalid instruction, any one of the following would fix this:
|
127 |
| -// CHECK-THUMBV7: instruction variant requires ARMv8 or later |
128 | 142 | // CHECK-THUMBV7-NEXT: movs r0, sp, lsl #0
|
| 143 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r14] |
| 144 | +// CHECK-THUMBV7: note: invalid operand for instruction |
| 145 | +// CHECK-THUMBV7: note: instruction variant requires ARMv8 or later |
| 146 | + |
129 | 147 | // CHECK-THUMBV7: error: invalid instruction, any one of the following would fix this:
|
130 |
| -// CHECK-THUMBV7: invalid operand for instruction |
131 | 148 | // CHECK-THUMBV7-NEXT: movs sp, r0, lsl #0
|
| 149 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r14] |
| 150 | +// CHECK-THUMBV7: note: operand must be a register in range [r0, r12] or r14 |
132 | 151 |
|
133 | 152 | // CHECK-ARM: mov sp, sp @ encoding: [0x0d,0xd0,0xa0,0xe1]
|
134 | 153 | // CHECK-ARM: movs sp, sp @ encoding: [0x0d,0xd0,0xb0,0xe1]
|
|
0 commit comments