[ARM] Assembler: ARM LDRD with writeback requires the base register to be different...
[oota-llvm.git] / test / MC / ARM / arm-ldrd.s
1 // RUN: not llvm-mc -arch arm -mattr=+v5te \
2 // RUN: < %s >/dev/null 2> %t
3 // RUN: grep "error: Rt must be even-numbered" %t | count 7
4 // RUN: grep "error: Rt can't be R14" %t | count 7
5 // RUN: grep "error: destination operands must be sequential" %t | count 7
6 // RUN: grep "error: base register needs to be different from destination registers" %t | count 4
7 // rdar://14479793
8
9 ldrd r1, r2, [pc, #0]
10 ldrd lr, pc, [pc, #0]
11 ldrd r0, r3, [pc, #0]
12 ldrd r1, r2, [r3, #4]
13 ldrd lr, pc, [r3, #4]
14 ldrd r0, r3, [r4, #4]
15 ldrd r1, r2, [r3], #4
16 ldrd lr, pc, [r3], #4
17 ldrd r0, r3, [r4], #4
18 ldrd r1, r2, [r3, #4]!
19 ldrd lr, pc, [r3, #4]!
20 ldrd r0, r3, [r4, #4]!
21 ldrd r1, r2, [r3, -r4]!
22 ldrd lr, pc, [r3, -r4]!
23 ldrd r0, r3, [r4, -r5]!
24 ldrd r1, r2, [r3, r4]
25 ldrd lr, pc, [r3, r4]
26 ldrd r0, r3, [r4, r5]
27 ldrd r1, r2, [r3], r4
28 ldrd lr, pc, [r3], r4
29 ldrd r0, r3, [r4], r5
30
31 ldrd r0, r1, [r0], #4
32 ldrd r0, r1, [r1], #4
33 ldrd r0, r1, [r0, #4]!
34 ldrd r0, r1, [r1, #4]!