ARM: Teach assembler to enforce constraints for ARM LDRD destination register operands.
[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 // rdar://14479793
6
7 ldrd r1, r2, [pc, #0]
8 ldrd lr, pc, [pc, #0]
9 ldrd r1, r2, [r3, #4]
10 ldrd lr, pc, [r3, #4]
11 ldrd r1, r2, [r3], #4
12 ldrd lr, pc, [r3], #4
13 ldrd r1, r2, [r3, #4]!
14 ldrd lr, pc, [r3, #4]!
15 ldrd r1, r2, [r3, -r4]!
16 ldrd lr, pc, [r3, -r4]!
17 ldrd r1, r2, [r3, r4]
18 ldrd lr, pc, [r3, r4]
19 ldrd r1, r2, [r3], r4
20 ldrd lr, pc, [r3], r4