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