fdc769649d0597596dfb1a33ab91234ad1f2d005
[oota-llvm.git] / test / MC / Disassembler / XCore / xcore.txt
1 # RUN: llvm-mc --disassemble %s -triple=xcore-xmos-elf | FileCheck %s
2 # CHECK: .section        __TEXT,__text,regular,pure_instructions
3
4 # 0r instructions
5
6 # CHECK: clre
7 0xed 0x07
8
9 # CHECK: get r11, id
10 0xee 0x17
11
12 # CHECK: get r11, ed
13 0xfe 0x0f
14
15 # CHECK: get r11, et
16 0xff 0x0f
17
18 # CHECK: ssync
19 0xee 0x07
20
21 # CHECK: waiteu
22 0xec 0x07
23
24 # 1r instructions
25
26 # CHECK: msync res[r0]
27 0xf0 0x1f
28
29 # CHECK: mjoin res[r1]
30 0xf1 0x17
31
32 # CHECK: bau r2
33 0xf2 0x27
34
35 # CHECK: set sp, r3
36 0xf3 0x2f
37
38 # CHECK: ecallt r4
39 0xf4 0x4f
40
41 # CHECK: ecallf r5
42 0xe5 0x4f
43
44 # CHECK: bla r6
45 0xe6 0x27
46
47 # CHECK: syncr res[r7]
48 0xf7 0x87
49
50 # CHECK: freer res[r8]
51 0xe8 0x17
52
53 # CHECK: setv res[r9], r11
54 0xf9 0x47
55
56 # CHECK: setev res[r10], r11
57 0xfa 0x3f
58
59 # CHECK: eeu res[r11]
60 0xfb 0x07
61
62 # 2r instructions
63
64 # CHECK: not r1, r8
65 0x24 0x8f
66
67 # CHECK: neg r7, r6
68 0xce 0x97
69
70 # CHECK: andnot r10, r11
71 0xab 0x2f
72
73 # CHECK: mkmsk r11, r0
74 0x4c 0xa7
75
76 # CHECK: getts r8, res[r1]
77 0x41 0x3f
78
79 # CHECK: setpt res[r2], r3
80 0xde 0x3e
81
82 # CHECK: outct res[r1], r2
83 0xc6 0x4e
84
85 # CHECK: outt res[r5], r4
86 0xd1 0x0f
87
88 # CHECK: out res[r9], r10
89 0xa9 0xaf
90
91 # CHECK: outshr res[r0], r2
92 0xd8 0xae
93
94 # CHECK: inct r7, res[r4]
95 0xdc 0x87
96
97 # CHECK: int r8, res[r3]
98 0x53 0x8f
99
100 # CHECK: in r10, res[r0]
101 0x48 0xb7
102
103 # CHECK: inshr r4, res[r2]
104 0x12 0xb7
105
106 # CHECK: chkct res[r6], r0
107 0x08 0xcf
108
109 # CHECK: testct r8, res[r3]
110 0x53 0xbf
111
112 # CHECK: testwct r2, res[r9]
113 0x39 0xc7
114
115 # CHECK: setd res[r3], r4
116 0x13 0x17
117
118 # CHECK: getst r7, res[r1]
119 0x1d 0x07
120
121 # CHECK: init t[r1]:sp, r2
122 0xc9 0x16
123
124 # CHECK: init t[r10]:pc, r1
125 0x26 0x07
126
127 # CHECK: init t[r2]:cp, r10
128 0x4a 0x1f
129
130 # CHECK: init t[r2]:dp, r3
131 0xce 0x0e
132
133 # CHECK: setpsc res[r8], r2
134 0x28 0xc7
135
136 # CHECK: zext r3, r8
137 0x2c 0x47
138
139 # CHECK: sext r9, r1
140 0x45 0x37
141
142 # rus instructions
143
144 # CHECK: chkct res[r1], 8
145 0x34 0xcf
146
147 # CHECK: getr r11, 2
148 0x4e 0x87
149
150 # CHECK: mkmsk r4, 24
151 0x72 0xa7
152
153 # CHECK: outct res[r3], r0
154 0xcc 0x4e
155
156 # CHECK: sext r8, 16
157 0xb1 0x37
158
159 # CHECK: zext r2, 32
160 0xd8 0x46
161
162 # CHECK: peek r0, res[r5]
163 0x81 0xbf
164
165 # CHECK: endin r10, res[r1]
166 0x59 0x97
167
168 # l2r instructions
169
170 # CHECK: bitrev r1, r10
171 0x26 0xff 0xec 0x07
172
173 # CHECK: byterev r4, r1
174 0x11 0xff 0xec 0x07
175
176 # CHECK: clz r11, r10
177 0xae 0xff 0xec 0x0f
178
179 # CHECK: get r3, ps[r6]
180 0x9e 0xff 0xec 0x17
181
182 # CHECK: setc res[r5], r9
183 0x75 0xff 0xec 0x2f
184
185 # CHECK: init t[r2]:lr, r1
186 0xc6 0xfe 0xec 0x17
187
188 # CHECK: setclk res[r2], r1
189 0xd6 0xfe 0xec 0x0f
190
191 # CHECK: set ps[r9], r10
192 0xa9 0xff 0xec 0x1f
193
194 # CHECK: setrdy res[r3], r1
195 0xc7 0xfe 0xec 0x2f
196
197 # CHECK: settw res[r7], r2
198 0x9b 0xff 0xec 0x27
199
200 # 3r instructions
201
202 # CHECK: add r1, r2, r3
203 0x1b 0x10
204
205 # CHECK: and r11, r10, r9
206 0xb9 0x3e
207
208 # CHECK: eq r6, r1, r2
209 0x66 0x30
210
211 # CHECK: ld16s r8, r3[r4]
212 0xcc 0x82
213
214 # CHECK: ld8u r9, r1[r10]
215 0x16 0x8d
216
217 # CHECK: ldw r9, r4[r5]
218 0x91 0x4b
219
220 # CHECK: lss r7, r3, r0
221 0x7c 0xc0
222
223 # CHECK: lsu r5, r8, r6
224 0x12 0xcc
225
226 # CHECK: or r1, r3, r2
227 0x1e 0x40
228
229 # CHECK: shl r8, r2, r4
230 0xc8 0x22
231
232 # CHECK: shr r9, r7, r1
233 0x5d 0x29
234
235 # CHECK: sub r4, r2, r5
236 0x89 0x1a
237
238 # 2rus instructions
239
240 # CHECK: add r10, r2, 5
241 0xe9 0x92
242
243 # CHECK: eq r2, r1, 0
244 0x24 0xb0
245
246 # CHECK: ldw r5, r6[1]
247 0x19 0x09
248
249 # CHECK: shl r6, r5, 24
250 0xa6 0xa5
251
252 # CHECK: shr r3, r8, 5
253 0xf1 0xab
254
255 # CHECK: stw r3, r2[0]
256 0x38 0x00
257
258 # CHECK: sub r2, r4, 11
259 0x63 0x9d
260
261 # l3r instructions
262
263 # CHECK: ashr r5, r1, r11
264 0xd7 0xfc 0xec 0x17
265
266 # CHECK: crc32 r5, r6, r1
267 0x19 0xf9 0xec 0xaf
268
269 # CHECK: divu r9, r1, r3
270 0x97 0xf8 0xec 0x4f
271
272 # CHECK: divs r6, r7, r2
273 0x2e 0xf9 0xec 0x47
274
275 # CHECK: lda16 r11, r2[r1]
276 0xb9 0xf8 0xec 0x2f
277
278 # CHECK: lda16 r9, r3[-r11]
279 0x1f 0xfd 0xec 0x37
280
281 # CHECK: ldaw r9, r1[r2]
282 0x96 0xf8 0xec 0x1f
283
284 # CHECK: ldaw r8, r7[r11]
285 0xcf 0xfd 0xec 0x1f
286
287 # CHECK: mul r0, r4, r2
288 0xc2 0xf8 0xec 0x3f
289
290 # CHECK: remu r1, r2, r3
291 0x1b 0xf8 0xec 0xcf
292
293 # CHECK: rems r11, r10, r9
294 0xb9 0xfe 0xec 0xc7
295
296 # CHECK: st16 r5, r3[r8]
297 0xdc 0xfc 0xec 0x87
298
299 # CHECK: stw r7, r10[r1]
300 0xf9 0xf9 0xec 0x07
301
302 # CHECK: xor r4, r3, r9
303 0xcd 0xfc 0xec 0x0f
304
305 # l2rus instructions
306
307 # CHECK: ashr r5, r1, 3
308 0x57 0xf8 0xec 0x97
309
310 # CHECK: ldaw r11, r10[6]
311 0x7a 0xfc 0xec 0x9f
312
313 # CHECK: ldaw r8, r2[-9]
314 0x09 0xfd 0xec 0xa7
315
316 # ru6 / lru6 instructions
317
318 # CHECK: bt r6, -5
319 0x85 0x75
320
321 # CHECK: bt r10, -451
322 0x07 0xf0 0x83 0x76
323
324 # CHECK: bt r8, 10
325 0x0a 0x72
326
327 # CHECK: bt r1, 6451
328 0x64 0xf0 0x73 0x70
329
330 # CHECK: bf r5, 8
331 0x48 0x79
332
333 # CHECK: bf r6, 65
334 0x01 0xf0 0x81 0x79
335
336 # CHECK: bf r1, 53
337 0x75 0x78
338
339 # CHECK: bf r10, 101
340 0x01 0xf0 0xa5 0x7a
341
342 # CHECK: ldaw r11, dp[63]
343 0xff 0x62
344
345 # CHECK: ldaw r1, dp[456]
346 0x07 0xf0 0x48 0x60
347
348 # CHECK: ldaw r3, sp[2]
349 0xc2 0x64
350
351 # CHECK: ldaw r8, sp[65535]
352 0xff 0xf3 0x3f 0x66
353
354 # CHECK: ldc r3, 30
355 0xde 0x68
356
357 # CHECK: ldc r11, 1000
358 0x0f 0xf0 0xe8 0x6a
359
360 # CHECK: ldw r0, cp[4]
361 0x04 0x6c
362
363 # CHECK: ldw r1, cp[32345]
364 0xf9 0xf1 0x59 0x6c
365
366 # CHECK: ldw r10, dp[16]
367 0x90 0x5a
368
369 # CHECK: ldw r10, dp[76]
370 0x01 0xf0 0x8c 0x5a
371
372 # CHECK: ldw r8, sp[51]
373 0x33 0x5e
374
375 # CHECK: ldw r8, sp[1225]
376 0x13 0xf0 0x09 0x5e
377
378 # CHECK: setc res[r5], 36
379 0x64 0xe9
380
381 # CHECK: setc res[r2], 40312
382 0x75 0xf2 0xb8 0xe8
383
384 # CHECK: stw r8, dp[14]
385 0x0e 0x52
386
387 # CHECK: stw r9, dp[654]
388 0x0a 0xf0 0x4e 0x52
389
390 # CHECK: stw r1, sp[32]
391 0x60 0x54
392
393 # CHECK: stw r0, sp[8761]
394 0x88 0xf0 0x39 0x54
395
396 # u6 / lu6 instructions
397
398 # CHECK: bu -20
399 0x14 0x77
400
401 # CHECK: bu -1000
402 0x0f 0xf0 0x28 0x77
403
404 # CHECK: bu 24
405 0x18 0x73
406
407 # CHECK: bu 2231
408 0x22 0xf0 0x37 0x73
409
410 # CHECK: extsp 9
411 0x89 0x77
412
413 # CHECK: extsp 5721
414 0x59 0xf0 0x99 0x77
415
416 # CHECK: clrsr 60
417 0x3c 0x7b
418
419 # CHECK: clrsr 64391
420 0xee 0xf3 0x07 0x7b
421
422 # CHECK: entsp 1
423 0x41 0x77
424
425 # CHECK: entsp 70
426 0x01 0xf0 0x46 0x77
427
428 # CHECK: ldaw r11, cp[5]
429 0x45 0x7f
430
431 # CHECK: ldaw r11, cp[33000]
432 0x03 0xf2 0x68 0x7f
433
434 # CHECK: retsp 40
435 0xe8 0x77
436
437 # CHECK: retsp 52010
438 0x2c 0xf3 0xea 0x77
439
440 # CHECK: setsr 42
441 0x6a 0x7b
442
443 # CHECK: setsr 21863
444 0x55 0xf1 0x67 0x7b
445
446 # u10 / lu10 instructions
447
448 # CHECK: ldap r11, 40
449 0x28 0xd8
450
451 # CHECK: ldap r11, 53112
452 0x33 0xf0 0x78 0xdb
453
454 # CHECK: bl 8
455 0x08 0xd0
456
457 # CHECK: bl 38631
458 0x25 0xf0 0xe7 0xd2
459
460 # l6r instructions
461
462 # CHECK: lmul r11, r0, r2, r5, r8, r10
463 0xf9 0xfa 0x02 0x06
464
465 # l5r instructions
466
467 # CHECK: ladd r10, r2, r5, r1, r7
468 0xe5 0xf8 0xfb 0x06
469
470 # CHECK: ldivu r5, r6, r3, r9, r8
471 0x54 0xfe 0x0b 0x07
472
473 # CHECK: lsub r1, r8, r7, r11, r5
474 0xcf 0xfd 0x85 0x0f