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