Commit | Line | Data |
---|---|---|
5a01bb1d MGD |
1 | .syntax unified |
2 | .arch armv8-a | |
3 | ||
4 | .thumb | |
5 | @ Wide instruction in IT block is deprecated. | |
6 | it eq | |
7 | ldrdeq r0, [r1] | |
8 | ||
9 | @ This IT block is not deprecated. | |
10 | it eq | |
11 | moveq r2, r3 | |
12 | ||
13 | @ IT block of more than one instruction is deprecated. | |
14 | itt eq | |
15 | moveq r0, r1 | |
16 | moveq r2, r3 | |
17 | ||
18 | @ Even for auto IT blocks | |
19 | moveq r2, r3 | |
20 | movne r2, r3 | |
21 | ||
22 | adds r0, r1 | |
23 | ||
24 | @ This automatic IT block is valid | |
25 | moveq r2,r3 | |
26 | ||
27 | add r0, r1, r2 | |
28 | ||
29 | @ This one is too wide. | |
30 | ldrdeq r0, [r1] | |
31 | ||
32 | add r0, r1, r2 | |
33 | ||
34 | @ Test automatic IT block generation at end of a file. | |
35 | movne r0, r1 | |
36 | moveq r1, r0 | |
37 | ||
38 | @ Test the various classes of 16-bit instructions that are deprecated. | |
39 | it eq | |
40 | svceq 0 | |
41 | ||
42 | it eq | |
43 | uxtheq r0, r1 | |
44 | ||
45 | it eq | |
46 | addeq r0, pc, #0 | |
47 | ||
48 | it eq | |
49 | ldreq r0, [pc, #4] | |
50 | ||
51 | it eq | |
52 | bxeq pc | |
53 | ||
54 | it eq | |
55 | addeq r0, pc, pc | |
56 | ||
57 | it eq | |
58 | addeq pc, r0, r0 | |
c8de034b JW |
59 | |
60 | it eq | |
61 | addeq sp, sp, #12 | |
62 | ||
63 | @ Misaligned immediate. | |
64 | it eq | |
65 | addeq sp, sp, #3 | |
66 | ||
67 | it eq | |
68 | subeq sp, sp, #12 | |
69 | ||
70 | @ Misaligned immediate. | |
71 | it eq | |
72 | subeq sp, sp, #3 |