[mips][microMIPS] Implement disassembler support for 16-bit instructions
[oota-llvm.git] / test / MC / Disassembler / Mips / micromips.txt
1 # RUN: llvm-mc --disassemble %s -triple=mips-unknown-linux -mattr=micromips \
2 # RUN: | FileCheck %s
3
4 # CHECK: add $9, $6, $7
5 0x00 0xe6 0x49 0x10
6
7 # CHECK: addi $9, $6, 17767
8 0x11 0x26 0x45 0x67
9
10 # CHECK: addiu $9, $6, -15001
11 0x31 0x26 0xc5 0x67
12
13 # CHECK: addi $9, $6, 17767
14 0x11 0x26 0x45 0x67
15
16 # CHECK: addiu $9, $6, -15001
17 0x31 0x26 0xc5 0x67
18
19 # CHECK: addu $9, $6, $7
20 0x00 0xe6 0x49 0x50
21
22 # CHECK: sub $9, $6, $7
23 0x00 0xe6 0x49 0x90
24
25 # CHECK: subu $4, $3, $5
26 0x00 0xa3 0x21 0xd0
27
28 # CHECK: sub $6, $zero, $7
29 0x00 0xe0 0x31 0x90
30
31 # CHECK: subu $6, $zero, $7
32 0x00 0xe0 0x31 0xd0
33
34 # CHECK: addu $7, $8, $zero
35 0x00 0x08 0x39 0x50
36
37 # CHECK: slt $3, $3, $5
38 0x00 0xa3 0x1b 0x50
39
40 # CHECK: slti $3, $3, 103
41 0x90 0x63 0x00 0x67
42
43 # CHECK: slti $3, $3, 103
44 0x90 0x63 0x00 0x67
45
46 # CHECK: sltiu $3, $3, 103
47 0xb0 0x63 0x00 0x67
48
49 # CHECK: sltu $3, $3, $5
50 0x00 0xa3 0x1b 0x90
51
52 # CHECK: lui $9, 17767
53 0x41 0xa9 0x45 0x67
54
55 # CHECK: and $9, $6, $7
56 0x00 0xe6 0x4a 0x50
57
58 # CHECK: andi $9, $6, 17767
59 0xd1 0x26 0x45 0x67
60
61 # CHECK: andi $9, $6, 17767
62 0xd1 0x26 0x45 0x67
63
64 # CHECK: or $3, $4, $5
65 0x00 0xa4 0x1a 0x90
66
67 # CHECK: ori $9, $6, 17767
68 0x51 0x26 0x45 0x67
69
70 # CHECK: xor $3, $3, $5
71 0x00 0xa3 0x1b 0x10
72
73 # CHECK: xori $9, $6, 17767
74 0x71 0x26 0x45 0x67
75
76 # CHECK: xori $9, $6, 17767
77 0x71 0x26 0x45 0x67
78
79 # CHECK: nor $9, $6, $7
80 0x00 0xe6 0x4a 0xd0
81
82 # CHECK: not $7, $8
83 0x00 0x08 0x3a 0xd0
84
85 # CHECK: mul $9, $6, $7
86 0x00 0xe6 0x4a 0x10
87
88 # CHECK: mult $9, $7
89 0x00 0xe9 0x8b 0x3c
90
91 # CHECK: multu $9, $7
92 0x00 0xe9 0x9b 0x3c
93
94 # CHECK-EB: div $zero, $9, $7
95 0x00 0xe9 0xab 0x3c
96
97 # CHECK-EB: divu $zero, $9, $7
98 0x00 0xe9 0xbb 0x3c
99
100 # CHECK: sll $4, $3, 7
101 0x00 0x83 0x38 0x00
102
103 # CHECK: sllv $2, $3, $5
104 0x00 0x65 0x10 0x10
105
106 # CHECK: sra $4, $3, 7
107 0x00 0x83 0x38 0x80
108
109 # CHECK: srav $2, $3, $5
110 0x00 0x65 0x10 0x90
111
112 # CHECK: srl $4, $3, 7
113 0x00 0x83 0x38 0x40
114
115 # CHECK: srlv $2, $3, $5
116 0x00 0x65 0x10 0x50
117
118 # CHECK: rotr $9, $6, 7
119 0x01 0x26 0x38 0xc0
120
121 # CHECK: rotrv $9, $6, $7
122 0x00 0xc7 0x48 0xd0
123
124 # CHECK: lb $5, 8($4)
125 0x1c 0xa4 0x00 0x08
126
127 # CHECK: lbu $6, 8($4)
128 0x14 0xc4 0x00 0x08
129
130 # CHECK: lh $2, 8($4)
131 0x3c 0x44 0x00 0x08
132
133 # CHECK: lhu $4, 8($2)
134 0x34 0x82 0x00 0x08
135
136 # CHECK: lw  $6, 4($5)
137 0xfc 0xc5 0x00 0x04
138
139 # CHECK: sb $5, 8($4)
140 0x18 0xa4 0x00 0x08
141
142 # CHECK: sh  $2, 8($4)
143 0x38 0x44 0x00 0x08
144
145 # CHECK: sw  $5, 4($6)
146 0xf8 0xa6 0x00 0x04
147
148 # CHECK: lwu $2, 8($4)
149 0x60 0x44 0xe0 0x08
150
151 # CHECK: lwl $4, 16($5)
152 0x60 0x85 0x00 0x10
153
154 # CHECK: lwr $4, 16($5)
155 0x60 0x85 0x10 0x10
156
157 # CHECK: swl $4, 16($5)
158 0x60 0x85 0x80 0x10
159
160 # CHECK: swr $4, 16($5)
161 0x60 0x85 0x90 0x10
162
163 # CHECK: movz $9, $6, $7
164 0x00 0xe6 0x48 0x58
165
166 # CHECK: movn $9, $6, $7
167 0x00 0xe6 0x48 0x18
168
169 # CHECK: movt $9, $6, $fcc0
170 0x55 0x26 0x09 0x7b
171
172 # CHECK: movf $9, $6, $fcc0
173 0x55 0x26 0x01 0x7b
174
175 # CHECK: mthi   $6
176 0x00 0x06 0x2d 0x7c
177
178 # CHECK: mfhi   $6
179 0x00 0x06 0x0d 0x7c
180
181 # CHECK: mtlo   $6
182 0x00 0x06 0x3d 0x7c
183
184 # CHECK: mflo   $6
185 0x00 0x06 0x1d 0x7c
186
187 # CHECK: madd   $4, $5
188 0x00 0xa4 0xcb 0x3c
189
190 # CHECK: maddu  $4, $5
191 0x00 0xa4 0xdb 0x3c
192
193 # CHECK: msub   $4, $5
194 0x00 0xa4 0xeb 0x3c
195
196 # CHECK: msubu  $4, $5
197 0x00 0xa4 0xfb 0x3c
198
199 # CHECK: clz $9, $6
200 0x01 0x26 0x5b 0x3c
201
202 # CHECK: clo $9, $6
203 0x01 0x26 0x4b 0x3c
204
205 # CHECK: seb $9, $6
206 0x01 0x26 0x2b 0x3c
207
208 # CHECK: seh $9, $6
209 0x01 0x26 0x3b 0x3c
210
211 # CHECK: wsbh $9, $6
212 0x01 0x26 0x7b 0x3c
213
214 # CHECK: ext $9, $6, 3, 7
215 0x01 0x26 0x30 0xec
216
217 # CHECK: ins $9, $6, 3, 7
218 0x01 0x26 0x48 0xcc
219
220 # CHECK: j 1328
221 0xd4 0x00 0x02 0x98
222
223 # CHECK: jal 1328
224 0xf4 0x00 0x02 0x98
225
226 # CHECK: jalr $ra, $6
227 0x03 0xe6 0x0f 0x3c
228
229 # CHECK: jr $7
230 0x00 0x07 0x0f 0x3c
231
232 # CHECK: beq $9, $6, 1332
233 0x94 0xc9 0x02 0x9a
234
235 # CHECK: bgez $6, 1332
236 0x40 0x46 0x02 0x9a
237
238 # CHECK: bgezal $6, 1332
239 0x40 0x66 0x02 0x9a
240
241 # CHECK: bltzal $6, 1332
242 0x40 0x26 0x02 0x9a
243
244 # CHECK: bgtz $6, 1332
245 0x40 0xc6 0x02 0x9a
246
247 # CHECK: blez $6, 1332
248 0x40 0x86 0x02 0x9a
249
250 # CHECK: bne $9, $6, 1332
251 0xb4 0xc9 0x02 0x9a
252
253 # CHECK: bltz $6, 1332
254 0x40 0x06 0x02 0x9a
255
256 # CHECK: teq $8, $9, 0
257 0x01 0x28 0x00 0x3c
258
259 # CHECK: tge $8, $9, 0
260 0x01 0x28 0x02 0x3c
261
262 # CHECK: tgeu $8, $9, 0
263 0x01 0x28 0x04 0x3c
264
265 # CHECK: tlt $8, $9, 0
266 0x01 0x28 0x08 0x3c
267
268 # CHECK: tltu $8, $9, 0
269 0x01 0x28 0x0a 0x3c
270
271 # CHECK: tne $8, $9, 0
272 0x01 0x28 0x0c 0x3c
273
274 # CHECK: teqi $9, 17767
275 0x41,0xc9,0x45,0x67
276
277 # CHECK: tgei $9, 17767
278 0x41 0x29 0x45 0x67
279
280 # CHECK: tgeiu $9, 17767
281 0x41 0x69 0x45 0x67
282
283 # CHECK: tlti $9, 17767
284 0x41 0x09 0x45 0x67
285
286 # CHECK: tltiu $9, 17767
287 0x41 0x49 0x45 0x67
288
289 # CHECK: tnei $9, 17767
290 0x41 0x89 0x45 0x67
291
292 # CHECK: ll $2, 8($4)
293 0x60 0x44 0x30 0x08
294
295 # CHECK: sc $2, 8($4)
296 0x60 0x44 0xb0 0x08
297
298 # CHECK: lwxs $2, $3($4)
299 0x00 0x64 0x11 0x18
300
301 # CHECK: bgezals $6, 1332
302 0x42 0x66 0x02 0x9a
303
304 # CHECK: bltzals $6, 1332
305 0x42 0x26 0x02 0x9a
306
307 # CHECK: beqzc $9, 1332
308 0x40 0xe9 0x02 0x9a
309
310 # CHECK: bnezc $9, 1332
311 0x40 0xa9 0x02 0x9a
312
313 # CHECK: jals 1328
314 0x74 0x00 0x02 0x98
315
316 # CHECK: jalrs $ra, $6
317 0x03 0xe6 0x4f 0x3c
318
319 # CHECK: lwm32 $16, $17, 8($4)
320 0x20 0x44 0x50 0x08
321
322 # CHECK: swm32 $16, $17, 8($4)
323 0x20 0x44 0xd0 0x08
324
325 # CHECK: addu16 $6, $17, $4
326 0x07 0x42
327
328 # CHECK: subu16 $5, $16, $3
329 0x06 0xb1
330
331 # CHECK: and16 $16, $2
332 0x44 0x82
333
334 # CHECK: not16 $17, $3
335 0x44 0x0b
336
337 # CHECK: or16 $16, $4
338 0x44 0xc4
339
340 # CHECK: xor16 $17, $5
341 0x44 0x4d
342
343 # CHECK: sll16 $3, $16, 5
344 0x25 0x8a
345
346 # CHECK: srl16 $4, $17, 6
347 0x26 0x1d
348
349 # CHECK: mfhi $9
350 0x46 0x09
351
352 # CHECK: mflo $9
353 0x46 0x49
354
355 # CHECK: move $25, $1
356 0x0f 0x21
357
358 # CHECK: jrc $9
359 0x45 0xa9
360
361 # CHECK: jalr $9
362 0x45 0xc9
363
364 # CHECK: jalrs16 $9
365 0x45 0xe9
366
367 # CHECK: jr16 $9
368 0x45 0x89