Add tests for A8.6.110 NOP.
[oota-llvm.git] / test / MC / Disassembler / ARM / thumb-tests.txt
1 # RUN: llvm-mc --disassemble %s -triple=thumb-apple-darwin9 | FileCheck %s
2
3 # CHECK:        add     r5, sp, #68
4 0x11 0xad
5
6 # CHECK:        adcs    r0, r0, #1
7 0x50 0xf1 0x01 0x00
8
9 # CHECK:        b       #30
10 0x0f 0xe0
11
12 # CHECK:        bgt.w   #-16
13 0x3f 0xf7 0xf8 0xaf
14
15 # CHECK:        bfc     r0, #10, #10
16 0x6f 0xf3 0x93 0x20
17
18 # CHECK:        bfi     r2, r10, #0, #1
19 0x6a 0xf3 0x00 0x02
20
21 # CHECK:        cbnz    r7, #20
22 0x57 0xb9
23
24 # CHECK:        cmp     r3, r4
25 0xa3 0x42
26
27 # CHECK:        cmn.w   r0, #31
28 0x10 0xf1 0x1f 0x0f
29
30 # CHECK:        ldmia   r0!, {r1}
31 0x02 0xc8
32
33 # CHECK:        ldr     r5, #432
34 0x6c 0x4d
35
36 # CHECK:        str     r0, [r3]
37 0x18 0x60
38
39 # CHECK:        str     r0, [r3, #4]
40 0x58 0x60
41
42 # CHECK:        str     r2, [r5, r3]
43 0xea 0x50
44
45 # CHECK:        ldrb.w  r8, #-24
46 0x1f 0xf8 0x18 0x80
47
48 # CHECK:        ldrd    r0, r1, [r7, #64]!
49 0xf7 0xe9 0x10 0x01
50
51 # CHECK:        lsls.w  r0, r5, #1
52 0x5f 0xea 0x45 0x00
53
54 # CHECK:        mov     r11, r7
55 0xbb 0x46
56
57 # CHECK:        pkhtb   r2, r4, r6, asr #16
58 0xc4 0xea 0x26 0x42
59
60 # CHECK-NOT:    pkhbt   r2, r4, r6, lsl #0
61 # CHECK:        pkhbt   r2, r4, r6
62 0xc4 0xea 0x06 0x02
63
64 # CHECK:        pop.w   {r2, r4, r6, r8, r10, r12}
65 0xbd 0xe8 0x54 0x15
66
67 # CHECK:        push.w  {r2, r4, r6, r8, r10, r12}
68 0x2d 0xe9 0x54 0x15
69
70 # CHECK:        rsbs    r0, r0, #0
71 0x40 0x42
72
73 # CHECK-NOT:    rsb     r0, r2, r0, lsl #0
74 # CHECK:        rsb     r0, r2, r0
75 0xc2 0xeb 0x00 0x00
76
77 # CHECK-NOT:    ssat    r0, #17, r12, lsl #0
78 # CHECK:        ssat    r0, #17, r12
79 0x0c 0xf3 0x10 0x00
80
81 # CHECK:        strd    r0, r1, [r7, #64]
82 0xc7 0xe9 0x10 0x01
83
84 # CHECK:        sub     sp, #60
85 0x8f 0xb0
86
87 # CHECK:        subw    r0, pc, #1
88 0xaf 0xf2 0x01 0x00
89
90 # CHECK:        subw    r0, sp, #835
91 0xad 0xf2 0x43 0x30
92
93 # CHECK:        uqadd16 r3, r4, r5
94 0x94 0xfa 0x55 0xf3
95
96 # CHECK:        usada8  r5, r4, r3, r2
97 0x74 0xfb 0x03 0x25
98
99 # CHECK:        uxtab16 r1, r2, r3, ror #8
100 0x32 0xfa 0x93 0xf1
101
102 # IT block begin
103 # CHECK:        ittte   eq
104 0x03 0xbf
105
106 # CHECK:        moveq   r3, #3
107 0x03 0x23
108
109 # CHECK:        asreq   r1, r0, #5
110 0x41 0x11
111
112 # CHECK:        lsleq   r1, r0, #28
113 0x01 0x07
114
115 # CHECK:        stmiane r0!, {r1, r2, r3}
116 0x0e 0xc0
117
118 # IT block end
119 # CHECK:        rsbs    r1, r2, #0
120 0x51 0x42
121
122 # CHECK: cpsid.w  f
123 0xaf 0xf3 0x20 0x86
124
125 # CHECK: cps  #15
126 0xaf 0xf3 0x0f 0x81
127
128 # CHECK: cpsie.w  if, #10
129 0xaf 0xf3 0x6a 0x85
130
131 # CHECK: cpsie aif
132 0x67 0xb6
133
134 # CHECK: msr cpsr_fc, r0
135 0x80 0xf3 0x00 0x89
136
137 # CHECK: blx    #-4
138 0xff 0xf7 0xfe 0xef
139
140 # CHECK:        vpush   {d8, d9, d10}
141 0x2d 0xed 0x06 0x8b
142
143 # CHECK:        vcmpe.f64       d8, #0
144 0xb5 0xee 0xc0 0x8b
145
146 # CHECK:        stmdb.w sp, {r0, r2, r3, r8, r11, lr}
147 0x0d 0xe9 0x0d 0x49
148
149 # CHECK:        stmia   r5!, {r0, r1, r2, r3, r4}
150 0x1f 0xc5
151
152 # CHECK:        ldmia   r5, {r0, r1, r2, r3, r4, r5}
153 0x3f 0xcd
154
155 # CHECK:        ldmia   r5!, {r0, r1, r2, r3, r4}
156 0x1f 0xcd
157
158 # CHECK:        addw    r0, pc, #1050
159 0x0f 0xf2 0x1a 0x40
160
161 # CHECK:        ldrd    r3, r8, [r11, #-60]
162 0x5b 0xe9 0x0f 0x38
163
164 # CHECK:        ldrex   r8, [r2]
165 0x52 0xe8 0x00 0x8f
166
167 # CHECK:        ldrexd  r8, r9, [r2]
168 0xd2 0xe8 0x7f 0x89
169
170 # CHECK:        strexd  r1, r7, r8, [r2]
171 0xc2 0xe8 0x71 0x78
172
173 # CHECK:        tbh     [r5, r4, lsl #1]
174 0xd5 0xe8 0x14 0xf0
175
176 # CHECK:        tbb     [r5, r4]
177 0xd5 0xe8 0x04 0xf0
178
179 # CHECK:        ldr.w   r4, [sp, r4, lsl #3]
180 0x5d 0xf8 0x34 0x40
181
182 # CHECK:        ldr.w   r5, [r6, #30]
183 0xd6 0xf8 0x1e 0x50
184
185 # CHECK:        ldrh.w  r5, [r6, #30]
186 0xb6 0xf8 0x1e 0x50
187
188 # CHECK:        ldrt    r5, [r6, #30]
189 0x56 0xf8 0x1e 0x5e
190
191 # CHECK:        ldr     r5, [r6, #-30]
192 0x56 0xf8 0x1e 0x5c
193
194 # CHECK:        sel     r7, r3, r5
195 0xa3 0xfa 0x85 0xf7
196
197 # CHECK:        lsl.w   r7, r3, r5
198 0x03 0xfa 0x05 0xf7
199
200 # CHECK:        adds.w  r7, r3, r5
201 0x13 0xeb 0x05 0x07
202
203 # CHECK:        smlabt  r4, r3, r2, r1
204 0x13 0xfb 0x12 0x14
205
206 # CHECK:        smmulr  r7, r8, r9
207 0x58 0xfb 0x19 0xf7
208
209 # CHECK:        umull   r1, r2, r3, r4
210 0xa3 0xfb 0x04 0x12
211
212 # CHECK:        pld     [r5, r0, lsl #1]
213 0x15 0xf8 0x10 0xf0
214
215 # CHECK:        pld     [pc, #-16]
216 0x1f 0xf8 0x10 0xf0
217
218 # CHECK:        pld     [r5, #30]
219 0x95 0xf8 0x1e 0xf0
220
221 # CHECK:        stc2    p12, cr15, [r9], {137}
222 0x89 0xfc 0x89 0xfc
223
224 # CHECK:        vmov    r1, r0, d11
225 0x50 0xec 0x1b 0x1b
226
227 # CHECK:        dsb     nsh
228 0xbf 0xf3 0x47 0x8f
229
230 # CHECK:        isb
231 0xbf 0xf3 0x6f 0x8f
232
233 # CHECK:        asrs    r1, r0, #32
234 0x1 0x10
235
236 # CHECK:        lsr.w   r10, r0, #32
237 0x4f 0xea 0x10 0x0a
238
239 # CHECK:        blx     sp
240 0xe8 0x47
241
242 # CHECK:        bx      lr
243 0x70 0x47
244
245 # CHECK:        bx      pc
246 0x78 0x47
247
248 # CHECK:        svc     #230
249 0xe6 0xdf
250
251 # CHECK:        rfedb   lr
252 0x1e 0xe8 0x00 0xc0
253
254 # CHECK:        mov.w   r3, #4294967295
255 0x4f 0xf0 0xff 0x33
256
257 # CHECK:        mov     pc, sp
258 0xef 0x46
259
260 # CHECK:        nop
261 0x00 0xbf
262
263 # CHECK:        nop.w
264 0xaf 0xf3 0x00 0x80