[Hexagon] Adding test to make sure labels and register pairs are correctly parsed.
[oota-llvm.git] / test / MC / ARM / thumb2-ldrb-ldrh.s
1 @ RUN: not llvm-mc -triple thumbv7a-none-eabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK
2 @ RUN: not llvm-mc -triple thumbv7m-none-eabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK
3
4 @ Thumb2 LDRS?[BH] are not valid when Rt == PC (these encodings are used for
5 @ preload hints).
6 @ We don't check the actual error messages here as they are currently not very
7 @ helpful, see http://llvm.org/bugs/show_bug.cgi?id=21066.
8
9 @ CHECK: error:
10 @ CHECK: error:
11 @ CHECK: error:
12 @ CHECK: error:
13 @ CHECK: error:
14   ldrb    pc, [r0, #10]
15   ldrb.w  pc, [r1, #10]
16   ldrb    pc, [r2, #-5]
17   ldrb    pc, [pc, #7]
18   ldrb.w  pc, [pc, #7]
19
20 @ CHECK: error:
21 @ CHECK: error:
22 @ CHECK: error:
23 @ CHECK: error:
24 @ CHECK: error:
25   ldrsb   pc, [r3, #10]
26   ldrsb.w pc, [r4, #10]
27   ldrsb   pc, [r5, #-5]
28   ldrsb   pc, [pc, #7]
29   ldrsb.w pc, [pc, #7]
30
31 @ CHECK: error:
32 @ CHECK: error:
33 @ CHECK: error:
34 @ CHECK: error:
35 @ CHECK: error:
36   ldrh    pc, [r6, #10]
37   ldrh.w  pc, [r7, #10]
38   ldrh    pc, [r8, #-5]
39   ldrh    pc, [pc, #7]
40   ldrh.w  pc, [pc, #7]
41
42 @ CHECK: error:
43 @ CHECK: error:
44 @ CHECK: error:
45 @ CHECK: error:
46 @ CHECK: error:
47   ldrsh   pc, [r9, #10]
48   ldrsh.w pc, [r10, #10]
49   ldrsh   pc, [r11, #-5]
50   ldrsh   pc, [pc, #7]
51   ldrsh.w pc, [pc, #7]