Add instruction encodings / disassembly support for l3r 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 # 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