Add some more comments about checkings of invalid register numbers.
[oota-llvm.git] / test / MC / Disassembler / ARM / arm-tests.txt
1 # RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s
2
3 # CHECK:        addpl   r4, pc, #19, #8
4 0x4c 0x45 0x8f 0x52
5
6 # CHECK:        b       #0
7 0x00 0x00 0x00 0xea
8
9 # CHECK:        bl      #7732
10 0x8d 0x07 0x00 0xeb
11
12 # CHECK:        bleq    #-4
13 0xff 0xff 0xff 0x0b
14
15 # CHECK:        bfc     r8, #0, #16
16 0x1f 0x80 0xcf 0xe7
17
18 # CHECK:        bfi     r8, r0, #16, #1
19 0x10 0x88 0xd0 0xe7
20
21 # CHECK:        mov     pc, lr
22 0x0e 0xf0 0xa0 0xe1
23
24 # CHECK:        cmn     r0, #1
25 0x01 0x00 0x70 0xe3
26
27 # CHECK:        dmb
28 0x5f 0xf0 0x7f 0xf5
29
30 # CHECK:        dmb     nshst
31 0x56 0xf0 0x7f 0xf5
32
33 # CHECK:        dsb
34 0x4f 0xf0 0x7f 0xf5
35
36 # CHECK:        dsb     st
37 0x4e 0xf0 0x7f 0xf5
38
39 # CHECK:        isb
40 0x6f 0xf0 0x7f 0xf5
41
42 # CHECK:        ldclvc  p5, cr15, [r8], #-0
43 0x00 0xf5 0x78 0x7c
44
45 # CHECK:        ldr     r0, [r2], #15
46 0x0f 0x00 0x92 0xe4
47
48 # CHECK:        ldr     r5, [r7, -r10, lsl #2]
49 0x0a 0x51 0x17 0xe7
50
51 # CHECK:        ldrh    r0, [r2], #0
52 0xb0 0x00 0xd2 0xe0
53
54 # CHECK:        ldrht   r0, [r2], #15
55 0xbf 0x00 0xf2 0xe0
56
57 # CHECK:        ldrsbtvs        lr, [r2], -r9
58 0xd9 0xe9 0x32 0x60
59
60 # CHECK:        lsls    r0, r2, #31
61 0x82 0x0f 0xb0 0xe1
62
63 # CHECK:        mcr2    p0, #0, r2, c1, c0, #7
64 0xf0 0x20 0x01 0xfe
65
66 # CHECK:        movt    r8, #65535
67 0xff 0x8f 0x4f 0xe3
68
69 # CHECK:        mvnspl  r7, #245, #2
70 0xf5 0x71 0xf0 0x53
71
72 # CHECK-NOT:    orr     r7, r8, r7, rrx #0
73 # CHECK:        orr     r7, r8, r7, rrx
74 0x67 0x70 0x88 0xe1
75
76 # CHECK:        pkhbt   r8, r9, r10, lsl #4
77 0x1a 0x82 0x89 0xe6
78
79 # CHECK-NOT:    pkhbtls r10, r11, r11, lsl #0
80 # CHECK:        pkhbtls r10, r11, r11
81 0x1b 0xa0 0x8b 0x96
82
83 # CHECK:        pkhtbmi lr, r1, r6, asr #21
84 0xd6 0xea 0x81 0x46
85
86 # CHECK:        pop     {r0, r2, r4, r6, r8, r10}
87 0x55 0x05 0xbd 0xe8
88
89 # CHECK:        push    {r0, r2, r4, r6, r8, r10}
90 0x55 0x05 0x2d 0xe9
91
92 # CHECK:        qsax    r8, r9, r10
93 0x5a 0x8f 0x29 0xe6
94
95 # CHECK:        rfedb   r0!
96 0x00 0x0a 0x30 0xf9
97
98 # CHECK-NOT:    rsbeq   r0, r2, r0, lsl #0
99 # CHECK:        rsbeq   r0, r2, r0
100 0x00 0x00 0x62 0x00
101
102 # CHECK-NOT:    rscseq  r0, r0, r1, lsl #0
103 # CHECK:        rscseq  r0, r0, r1
104 0x01 0x00 0xf0 0x00
105
106 # CHECK:        sbcs    r0, pc, #1
107 0x01 0x00 0xdf 0xe2
108
109 # CHECK:        sbfx    r0, r1, #0, #8
110 0x51 0x00 0xa7 0xe7
111
112 # CHECK:        ssat    r8, #1, r10, lsl #8
113 0x1a 0x84 0xa0 0xe6
114
115 # CHECK-NOT:    ssatmi  r0, #17, r12, lsl #0
116 # CHECK:        ssatmi  r0, #17, r12
117 0x1c 0x00 0xb0 0x46
118
119 # CHECK:        stmdb   r10!, {r4, r5, r6, r7, lr}
120 0xf0 0x40 0x2a 0xe9
121
122 # CHECK:        teq     r0, #31
123 0x1f 0x00 0x30 0xe3
124
125 # CHECK:        ubfx    r0, r0, #16, #1
126 0x50 0x08 0xe0 0xe7
127
128 # CHECK:        usat    r8, #0, r10, asr #32
129 0x5a 0x80 0xe0 0xe6
130
131 # CHECK:        setend be
132 0x00 0x02 0x01 0xf1
133
134 # CHECK:        setend le
135 0x00 0x00 0x01 0xf1
136
137 # CHECK: cpsie  aif
138 0xc0 0x01 0x08 0xf1
139
140 # CHECK: cps  #15
141 0x0f 0x00 0x02 0xf1
142
143 # CHECK: cpsie if, #10
144 0xca 0x00 0x0a 0xf1
145
146 # CHECK: msr cpsr_fc, r0
147 0x00 0xf0 0x29 0xe1
148
149 # CHECK:        msrmi   cpsr_c, #241, #8
150 0xf1 0xf4 0x21 0x43
151
152 # CHECK: rsbs r6, r7, r8
153 0x08 0x60 0x77 0xe0
154
155 # CHECK: blxeq r5
156 0x35 0xff 0x2f 0x01
157
158 # CHECK: bx r12
159 0x1c 0xff 0x2f 0xe1
160
161 # CHECK:        uqadd16mi       r6, r11, r8
162 0x18 0x60 0x6b 0x46
163
164 # CHECK:        str     r0, [sp, #4]
165 0x04 0x00 0x8d 0xe5
166
167 # CHECK:        str     r1, [sp]
168 0x00 0x10 0x8d 0xe5
169
170 # CHECK:        ldr     r3, [pc, #144]
171 0x90 0x30 0x9f 0xe5
172
173 # CHECK:        ldr     r3, [r0, #-4]
174 0x4 0x30 0x10 0xe5
175
176 # CHECK:        ldr     r5, [sp, r0, lsl #1]!
177 0x80 0x50 0xbd 0xe7
178
179 # CHECK:        ldr     r5, [r7], -r0, lsr #2
180 0x20 0x51 0x17 0xe6
181
182 # CHECK:        strdeq  r2, r3, [r0], -r8
183 0xf8 0x24 0x00 0x00
184
185 # CHECK:        ldrdeq  r2, r3, [r0], -r12
186 0xdc 0x24 0x00 0x00
187
188 # CHECK:        ldrbt   r3, [r4], -r5, lsl #12
189 0x05 0x36 0x74 0xe6
190
191 # CHECK:        vcmpe.f64       d8, #0
192 0xc0 0x8b 0xb5 0xee
193
194 # CHECK:        vldmdb  r2!, {s7, s8, s9, s10, s11}
195 0x05 0x3a 0x72 0xed
196
197 # CHECK:        vldr.32 s23, [r2, #660]
198 0xa5 0xba 0xd2 0xed
199
200 # CHECK:        strtvc  r5, [r3], r0, lsr #20
201 0x20 0x5a 0xa3 0x76
202
203 # CHECK:        stmiblo sp, {r0, r4, r8, r11, r12, pc}
204 0x11 0x99 0x8d 0x39
205
206 # CHECK:        ldmdb   sp, {r0, r4, r8, r11, r12, pc}
207 0x11 0x99 0x1d 0xe9
208
209 # CHECK:        swpge   r3, r2, [r6]
210 0x92 0x30 0x06 0xa1
211
212 # CHECK:        umull   r1, r2, r3, r4
213 0x93 0x14 0x82 0xe0
214
215 # CHECK:        pld     [pc, #-0]
216 0x00 0xf0 0x1f 0xf5
217
218 # CHECK:        pli     [pc, #-0]
219 0x00 0xf0 0x5f 0xf4
220
221 # CHECK:        pli     [r3, r1, lsl #2]
222 0x01 0xf1 0xd3 0xf6
223
224 # CHECK:        stc     p2, cr4, [r9], {157}
225 0x9d 0x42 0x89 0xec
226
227 # CHECK:        stc2    p2, cr4, [r9], {157}
228 0x9d 0x42 0x89 0xfc
229
230 # CHECK:        blx     #60
231 0x0f 0x00 0x00 0xfa
232
233 # CHECK-NOT:    adcs    r10, r8, r0, asr #6
234 # CHECK:        adcshi  r10, r8, r0, asr #6
235 0x40 0xa3 0xb8 0x80
236
237 # CHECK:        adcshi  r10, r8, r0, asr r3
238 0x50 0xa3 0xb8 0x80
239
240 # CHECK:        streq   r1, [sp], #-1567
241 0x1f 0x16 0xd 0x4
242
243 # CHECK:        mrchs   p2, #3, r11, c13, c6, #6
244 0xd6 0xb2 0x7d 0x2e
245
246 # CHECK:        smlsldx r4, r12, r11, r4
247 0x7b 0x44 0x4c 0xe7
248
249 # CHECK:        lsl     r3, r2, r1
250 0x12 0x31 0xa0 0xe1