1// RUN: not llvm-mc -triple arm-eabi -mattr=+v5te %s -o /dev/null 2>&1 | FileCheck %s 2// 3// rdar://14479793 4 5ldrd r1, r2, [pc, #0] 6ldrd r1, r2, [r3, #4] 7ldrd r1, r2, [r3], #4 8ldrd r1, r2, [r3, #4]! 9ldrd r1, r2, [r3, -r4]! 10ldrd r1, r2, [r3, r4] 11ldrd r1, r2, [r3], r4 12// CHECK: error: Rt must be even-numbered 13// CHECK: error: Rt must be even-numbered 14// CHECK: error: Rt must be even-numbered 15// CHECK: error: Rt must be even-numbered 16// CHECK: error: Rt must be even-numbered 17// CHECK: error: Rt must be even-numbered 18// CHECK: error: Rt must be even-numbered 19 20ldrd r0, r3, [pc, #0] 21ldrd r0, r3, [r4, #4] 22ldrd r0, r3, [r4], #4 23ldrd r0, r3, [r4, #4]! 24ldrd r0, r3, [r4, -r5]! 25ldrd r0, r3, [r4, r5] 26ldrd r0, r3, [r4], r5 27// CHECK: error: destination operands must be sequential 28// CHECK: error: destination operands must be sequential 29// CHECK: error: destination operands must be sequential 30// CHECK: error: destination operands must be sequential 31// CHECK: error: destination operands must be sequential 32// CHECK: error: destination operands must be sequential 33// CHECK: error: destination operands must be sequential 34 35ldrd lr, pc, [pc, #0] 36ldrd lr, pc, [r3, #4] 37ldrd lr, pc, [r3], #4 38ldrd lr, pc, [r3, #4]! 39ldrd lr, pc, [r3, -r4]! 40ldrd lr, pc, [r3, r4] 41ldrd lr, pc, [r3], r4 42// CHECK: error: Rt can't be R14 43// CHECK: error: Rt can't be R14 44// CHECK: error: Rt can't be R14 45// CHECK: error: Rt can't be R14 46// CHECK: error: Rt can't be R14 47// CHECK: error: Rt can't be R14 48// CHECK: error: Rt can't be R14 49 50ldrd r0, r1, [r0], #4 51ldrd r0, r1, [r1], #4 52ldrd r0, r1, [r0, #4]! 53ldrd r0, r1, [r1, #4]! 54// CHECK: error: base register needs to be different from destination registers 55// CHECK: error: base register needs to be different from destination registers 56// CHECK: error: base register needs to be different from destination registers 57// CHECK: error: base register needs to be different from destination registers 58