1# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
2
3# Test to ensure that all FSL immediate operands and FSL instructions
4# can be parsed by the assembly parser correctly.
5
6# TYPE F:   OPCODE RD           NCTAE        FSL
7# BINARY:   011011 00000 000000 00000 000000 0000
8
9# TYPE FD:  OPCODE RD          RB      NCTAE
10# BINARY:   011011 00000 00000 00000 0 00000 00000
11
12# TYPE FP:  OPCODE       RA      NCTA         FSL
13#           000000 00000 00000 1 0000 0000000 0000
14
15# CHECK:    get
16# BINARY:   011011 00000 000000 00000 000000 0000
17# CHECK:    encoding: [0x6c,0x00,0x00,0x00]
18            get         r0, rfsl0
19
20# CHECK:    nget
21# BINARY:   011011 00000 000000 10000 000000 0000
22# CHECK:    encoding: [0x6c,0x00,0x40,0x00]
23            nget        r0, rfsl0
24
25# CHECK:    cget
26# BINARY:   011011 00000 000000 01000 000000 0000
27# CHECK:    encoding: [0x6c,0x00,0x20,0x00]
28            cget        r0, rfsl0
29
30# CHECK:    ncget
31# BINARY:   011011 00000 000000 11000 000000 0000
32# CHECK:    encoding: [0x6c,0x00,0x60,0x00]
33            ncget       r0, rfsl0
34
35# CHECK:    tget
36# BINARY:   011011 00000 000000 00100 000000 0000
37# CHECK:    encoding: [0x6c,0x00,0x10,0x00]
38            tget        r0, rfsl0
39
40# CHECK:    tnget
41# BINARY:   011011 00000 000000 10100 000000 0000
42# CHECK:    encoding: [0x6c,0x00,0x50,0x00]
43            tnget       r0, rfsl0
44
45# CHECK:    tcget
46# BINARY:   011011 00000 000000 01100 000000 0000
47# CHECK:    encoding: [0x6c,0x00,0x30,0x00]
48            tcget       r0, rfsl0
49
50# CHECK:    tncget
51# BINARY:   011011 00000 000000 11100 000000 0000
52# CHECK:    encoding: [0x6c,0x00,0x70,0x00]
53            tncget      r0, rfsl0
54
55# CHECK:    aget
56# BINARY:   011011 00000 000000 00010 000000 0000
57# CHECK:    encoding: [0x6c,0x00,0x08,0x00]
58            aget        r0, rfsl0
59
60# CHECK:    naget
61# BINARY:   011011 00000 000000 10010 000000 0000
62# CHECK:    encoding: [0x6c,0x00,0x48,0x00]
63            naget       r0, rfsl0
64
65# CHECK:    caget
66# BINARY:   011011 00000 000000 01010 000000 0000
67# CHECK:    encoding: [0x6c,0x00,0x28,0x00]
68            caget       r0, rfsl0
69
70# CHECK:    ncaget
71# BINARY:   011011 00000 000000 11010 000000 0000
72# CHECK:    encoding: [0x6c,0x00,0x68,0x00]
73            ncaget      r0, rfsl0
74
75# CHECK:    taget
76# BINARY:   011011 00000 000000 00110 000000 0000
77# CHECK:    encoding: [0x6c,0x00,0x18,0x00]
78            taget       r0, rfsl0
79
80# CHECK:    tnaget
81# BINARY:   011011 00000 000000 10110 000000 0000
82# CHECK:    encoding: [0x6c,0x00,0x58,0x00]
83            tnaget      r0, rfsl0
84
85# CHECK:    tcaget
86# BINARY:   011011 00000 000000 01110 000000 0000
87# CHECK:    encoding: [0x6c,0x00,0x38,0x00]
88            tcaget      r0, rfsl0
89
90# CHECK:    tncaget
91# BINARY:   011011 00000 000000 11110 000000 0000
92# CHECK:    encoding: [0x6c,0x00,0x78,0x00]
93            tncaget     r0, rfsl0
94
95# CHECK:    eget
96# BINARY:   011011 00000 000000 00001 000000 0000
97# CHECK:    encoding: [0x6c,0x00,0x04,0x00]
98            eget        r0, rfsl0
99
100# CHECK:    neget
101# BINARY:   011011 00000 000000 10001 000000 0000
102# CHECK:    encoding: [0x6c,0x00,0x44,0x00]
103            neget       r0, rfsl0
104
105# CHECK:    ecget
106# BINARY:   011011 00000 000000 01001 000000 0000
107# CHECK:    encoding: [0x6c,0x00,0x24,0x00]
108            ecget       r0, rfsl0
109
110# CHECK:    necget
111# BINARY:   011011 00000 000000 11001 000000 0000
112# CHECK:    encoding: [0x6c,0x00,0x64,0x00]
113            necget      r0, rfsl0
114
115# CHECK:    teget
116# BINARY:   011011 00000 000000 00101 000000 0000
117# CHECK:    encoding: [0x6c,0x00,0x14,0x00]
118            teget       r0, rfsl0
119
120# CHECK:    tneget
121# BINARY:   011011 00000 000000 10101 000000 0000
122# CHECK:    encoding: [0x6c,0x00,0x54,0x00]
123            tneget      r0, rfsl0
124
125# CHECK:    tecget
126# BINARY:   011011 00000 000000 01101 000000 0000
127# CHECK:    encoding: [0x6c,0x00,0x34,0x00]
128            tecget      r0, rfsl0
129
130# CHECK:    tnecget
131# BINARY:   011011 00000 000000 11101 000000 0000
132# CHECK:    encoding: [0x6c,0x00,0x74,0x00]
133            tnecget     r0, rfsl0
134
135# CHECK:    eaget
136# BINARY:   011011 00000 000000 00011 000000 0000
137# CHECK:    encoding: [0x6c,0x00,0x0c,0x00]
138            eaget       r0, rfsl0
139
140# CHECK:    neaget
141# BINARY:   011011 00000 000000 10011 000000 0000
142# CHECK:    encoding: [0x6c,0x00,0x4c,0x00]
143            neaget      r0, rfsl0
144
145# CHECK:    ecaget
146# BINARY:   011011 00000 000000 01011 000000 0000
147# CHECK:    encoding: [0x6c,0x00,0x2c,0x00]
148            ecaget      r0, rfsl0
149
150# CHECK:    necaget
151# BINARY:   011011 00000 000000 11011 000000 0000
152# CHECK:    encoding: [0x6c,0x00,0x6c,0x00]
153            necaget     r0, rfsl0
154
155# CHECK:    teaget
156# BINARY:   011011 00000 000000 00111 000000 0000
157# CHECK:    encoding: [0x6c,0x00,0x1c,0x00]
158            teaget      r0, rfsl0
159
160# CHECK:    tneaget
161# BINARY:   011011 00000 000000 10111 000000 0000
162# CHECK:    encoding: [0x6c,0x00,0x5c,0x00]
163            tneaget     r0, rfsl0
164
165# CHECK:    tecaget
166# BINARY:   011011 00000 000000 01111 000000 0000
167# CHECK:    encoding: [0x6c,0x00,0x3c,0x00]
168            tecaget     r0, rfsl0
169
170# CHECK:    tnecaget
171# BINARY:   011011 00000 000000 11111 000000 0000
172# CHECK:    encoding: [0x6c,0x00,0x7c,0x00]
173            tnecaget    r0, rfsl0
174
175# CHECK:    getd
176# BINARY:   010011 00000 00000 00001 0 00000 00000
177# CHECK:    encoding: [0x4c,0x00,0x08,0x00]
178            getd        r0, r1
179
180# CHECK:    ngetd
181# BINARY:   010011 00000 00000 00001 0 10000 00000
182# CHECK:    encoding: [0x4c,0x00,0x0a,0x00]
183            ngetd       r0, r1
184
185# CHECK:    cgetd
186# BINARY:   010011 00000 00000 00001 0 01000 00000
187# CHECK:    encoding: [0x4c,0x00,0x09,0x00]
188            cgetd       r0, r1
189
190# CHECK:    ncgetd
191# BINARY:   010011 00000 00000 00001 0 11000 00000
192# CHECK:    encoding: [0x4c,0x00,0x0b,0x00]
193            ncgetd      r0, r1
194
195# CHECK:    tgetd
196# BINARY:   010011 00000 00000 00001 0 00100 00000
197# CHECK:    encoding: [0x4c,0x00,0x08,0x80]
198            tgetd       r0, r1
199
200# CHECK:    tngetd
201# BINARY:   010011 00000 00000 00001 0 10100 00000
202# CHECK:    encoding: [0x4c,0x00,0x0a,0x80]
203            tngetd      r0, r1
204
205# CHECK:    tcgetd
206# BINARY:   010011 00000 00000 00001 0 01100 00000
207# CHECK:    encoding: [0x4c,0x00,0x09,0x80]
208            tcgetd      r0, r1
209
210# CHECK:    tncgetd
211# BINARY:   010011 00000 00000 00001 0 11100 00000
212# CHECK:    encoding: [0x4c,0x00,0x0b,0x80]
213            tncgetd     r0, r1
214
215# CHECK:    agetd
216# BINARY:   010011 00000 00000 00001 0 00010 00000
217# CHECK:    encoding: [0x4c,0x00,0x08,0x40]
218            agetd       r0, r1
219
220# CHECK:    nagetd
221# BINARY:   010011 00000 00000 00001 0 10010 00000
222# CHECK:    encoding: [0x4c,0x00,0x0a,0x40]
223            nagetd      r0, r1
224
225# CHECK:    cagetd
226# BINARY:   010011 00000 00000 00001 0 01010 00000
227# CHECK:    encoding: [0x4c,0x00,0x09,0x40]
228            cagetd     r0, r1
229
230# CHECK:    ncagetd
231# BINARY:   010011 00000 00000 00001 0 11010 00000
232# CHECK:    encoding: [0x4c,0x00,0x0b,0x40]
233            ncagetd     r0, r1
234
235# CHECK:    tagetd
236# BINARY:   010011 00000 00000 00001 0 00110 00000
237# CHECK:    encoding: [0x4c,0x00,0x08,0xc0]
238            tagetd      r0, r1
239
240# CHECK:    tnagetd
241# BINARY:   010011 00000 00000 00001 0 10110 00000
242# CHECK:    encoding: [0x4c,0x00,0x0a,0xc0]
243            tnagetd     r0, r1
244
245# CHECK:    tcagetd
246# BINARY:   010011 00000 00000 00001 0 01110 00000
247# CHECK:    encoding: [0x4c,0x00,0x09,0xc0]
248            tcagetd     r0, r1
249
250# CHECK:    tncagetd
251# BINARY:   010011 00000 00000 00001 0 11110 00000
252# CHECK:    encoding: [0x4c,0x00,0x0b,0xc0]
253            tncagetd    r0, r1
254
255# CHECK:    egetd
256# BINARY:   010011 00000 00000 00001 0 00001 00000
257# CHECK:    encoding: [0x4c,0x00,0x08,0x20]
258            egetd       r0, r1
259
260# CHECK:    negetd
261# BINARY:   010011 00000 00000 00001 0 10001 00000
262# CHECK:    encoding: [0x4c,0x00,0x0a,0x20]
263            negetd      r0, r1
264
265# CHECK:    ecgetd
266# BINARY:   010011 00000 00000 00001 0 01001 00000
267# CHECK:    encoding: [0x4c,0x00,0x09,0x20]
268            ecgetd      r0, r1
269
270# CHECK:    necgetd
271# BINARY:   010011 00000 00000 00001 0 11001 00000
272# CHECK:    encoding: [0x4c,0x00,0x0b,0x20]
273            necgetd     r0, r1
274
275# CHECK:    tegetd
276# BINARY:   010011 00000 00000 00001 0 00101 00000
277# CHECK:    encoding: [0x4c,0x00,0x08,0xa0]
278            tegetd      r0, r1
279
280# CHECK:    tnegetd
281# BINARY:   010011 00000 00000 00001 0 10101 00000
282# CHECK:    encoding: [0x4c,0x00,0x0a,0xa0]
283            tnegetd     r0, r1
284
285# CHECK:    tecgetd
286# BINARY:   010011 00000 00000 00001 0 01101 00000
287# CHECK:    encoding: [0x4c,0x00,0x09,0xa0]
288            tecgetd     r0, r1
289
290# CHECK:    tnecgetd
291# BINARY:   010011 00000 00000 00001 0 11101 00000
292# CHECK:    encoding: [0x4c,0x00,0x0b,0xa0]
293            tnecgetd    r0, r1
294
295# CHECK:    eagetd
296# BINARY:   010011 00000 00000 00001 0 00011 00000
297# CHECK:    encoding: [0x4c,0x00,0x08,0x60]
298            eagetd      r0, r1
299
300# CHECK:    neagetd
301# BINARY:   010011 00000 00000 00001 0 10011 00000
302# CHECK:    encoding: [0x4c,0x00,0x0a,0x60]
303            neagetd     r0, r1
304
305# CHECK:    ecagetd
306# BINARY:   010011 00000 00000 00001 0 01011 00000
307# CHECK:    encoding: [0x4c,0x00,0x09,0x60]
308            ecagetd     r0, r1
309
310# CHECK:    necagetd
311# BINARY:   010011 00000 00000 00001 0 11011 00000
312# CHECK:    encoding: [0x4c,0x00,0x0b,0x60]
313            necagetd    r0, r1
314
315# CHECK:    teagetd
316# BINARY:   010011 00000 00000 00001 0 00111 00000
317# CHECK:    encoding: [0x4c,0x00,0x08,0xe0]
318            teagetd     r0, r1
319
320# CHECK:    tneagetd
321# BINARY:   010011 00000 00000 00001 0 10111 00000
322# CHECK:    encoding: [0x4c,0x00,0x0a,0xe0]
323            tneagetd    r0, r1
324
325# CHECK:    tecagetd
326# BINARY:   010011 00000 00000 00001 0 01111 00000
327# CHECK:    encoding: [0x4c,0x00,0x09,0xe0]
328            tecagetd    r0, r1
329
330# CHECK:    tnecagetd
331# BINARY:   010011 00000 00000 00001 0 11111 00000
332# CHECK:    encoding: [0x4c,0x00,0x0b,0xe0]
333            tnecagetd   r0, r1
334
335# CHECK:    put
336# BINARY:   011011 00000 00000 1 0000 0000000 0000
337# CHECK:    encoding: [0x6c,0x00,0x80,0x00]
338            put         r0, rfsl0
339
340# CHECK:    aput
341# BINARY:   011011 00000 00000 1 0001 0000000 0000
342# CHECK:    encoding: [0x6c,0x00,0x88,0x00]
343            aput        r0, rfsl0
344
345# CHECK:    cput
346# BINARY:   011011 00000 00000 1 0100 0000000 0000
347# CHECK:    encoding: [0x6c,0x00,0xa0,0x00]
348            cput        r0, rfsl0
349
350# CHECK:    caput
351# BINARY:   011011 00000 00000 1 0101 0000000 0000
352# CHECK:    encoding: [0x6c,0x00,0xa8,0x00]
353            caput       r0, rfsl0
354
355# CHECK:    nput
356# BINARY:   011011 00000 00000 1 1000 0000000 0000
357# CHECK:    encoding: [0x6c,0x00,0xc0,0x00]
358            nput        r0, rfsl0
359
360# CHECK:    naput
361# BINARY:   011011 00000 00000 1 1001 0000000 0000
362# CHECK:    encoding: [0x6c,0x00,0xc8,0x00]
363            naput       r0, rfsl0
364
365# CHECK:    ncput
366# BINARY:   011011 00000 00000 1 1100 0000000 0000
367# CHECK:    encoding: [0x6c,0x00,0xe0,0x00]
368            ncput       r0, rfsl0
369
370# CHECK:    ncaput
371# BINARY:   011011 00000 00000 1 1101 0000000 0000
372# CHECK:    encoding: [0x6c,0x00,0xe8,0x00]
373            ncaput      r0, rfsl0
374
375# CHECK:    tput
376# BINARY:   011011 00000 00000 1 0010 0000000 0000
377# CHECK:    encoding: [0x6c,0x00,0x90,0x00]
378            tput        rfsl0
379
380# CHECK:    taput
381# BINARY:   011011 00000 00000 1 0011 0000000 0000
382# CHECK:    encoding: [0x6c,0x00,0x98,0x00]
383            taput       rfsl0
384
385# CHECK:    tcput
386# BINARY:   011011 00000 00000 1 0110 0000000 0000
387# CHECK:    encoding: [0x6c,0x00,0xb0,0x00]
388            tcput       rfsl0
389
390# CHECK:    tcaput
391# BINARY:   011011 00000 00000 1 0111 0000000 0000
392# CHECK:    encoding: [0x6c,0x00,0xb8,0x00]
393            tcaput      rfsl0
394
395# CHECK:    tnput
396# BINARY:   011011 00000 00000 1 1010 0000000 0000
397# CHECK:    encoding: [0x6c,0x00,0xd0,0x00]
398            tnput       rfsl0
399
400# CHECK:    tnaput
401# BINARY:   011011 00000 00000 1 1011 0000000 0000
402# CHECK:    encoding: [0x6c,0x00,0xd8,0x00]
403            tnaput      rfsl0
404
405# CHECK:    tncput
406# BINARY:   011011 00000 00000 1 1110 0000000 0000
407# CHECK:    encoding: [0x6c,0x00,0xf0,0x00]
408            tncput      rfsl0
409
410# CHECK:    tncaput
411# BINARY:   011011 00000 00000 1 1111 0000000 0000
412# CHECK:    encoding: [0x6c,0x00,0xf8,0x00]
413            tncaput     rfsl0
414
415# CHECK:    putd
416# BINARY:   010011 00000 00000 00001 1 0000 000000
417# CHECK:    encoding: [0x4c,0x00,0x0c,0x00]
418            putd        r0, r1
419
420# CHECK:    aputd
421# BINARY:   010011 00000 00000 00001 1 0001 000000
422# CHECK:    encoding: [0x4c,0x00,0x0c,0x40]
423            aputd       r0, r1
424
425# CHECK:    cputd
426# BINARY:   010011 00000 00000 00001 1 0100 000000
427# CHECK:    encoding: [0x4c,0x00,0x0d,0x00]
428            cputd       r0, r1
429
430# CHECK:    caputd
431# BINARY:   010011 00000 00000 00001 1 0101 000000
432# CHECK:    encoding: [0x4c,0x00,0x0d,0x40]
433            caputd      r0, r1
434
435# CHECK:    nputd
436# BINARY:   010011 00000 00000 00001 1 1000 000000
437# CHECK:    encoding: [0x4c,0x00,0x0e,0x00]
438            nputd       r0, r1
439
440# CHECK:    naputd
441# BINARY:   010011 00000 00000 00001 1 1001 000000
442# CHECK:    encoding: [0x4c,0x00,0x0e,0x40]
443            naputd      r0, r1
444
445# CHECK:    ncputd
446# BINARY:   010011 00000 00000 00001 1 1100 000000
447# CHECK:    encoding: [0x4c,0x00,0x0f,0x00]
448            ncputd      r0, r1
449
450# CHECK:    ncaputd
451# BINARY:   010011 00000 00000 00001 1 1101 000000
452# CHECK:    encoding: [0x4c,0x00,0x0f,0x40]
453            ncaputd     r0, r1
454
455# CHECK:    tputd
456# BINARY:   010011 00000 00000 00001 1 0010 000000
457# CHECK:    encoding: [0x4c,0x00,0x0c,0x80]
458            tputd       r1
459
460# CHECK:    taputd
461# BINARY:   010011 00000 00000 00001 1 0011 000000
462# CHECK:    encoding: [0x4c,0x00,0x0c,0xc0]
463            taputd      r1
464
465# CHECK:    tcputd
466# BINARY:   010011 00000 00000 00001 1 0110 000000
467# CHECK:    encoding: [0x4c,0x00,0x0d,0x80]
468            tcputd      r1
469
470# CHECK:    tcaputd
471# BINARY:   010011 00000 00000 00001 1 0111 000000
472# CHECK:    encoding: [0x4c,0x00,0x0d,0xc0]
473            tcaputd     r1
474
475# CHECK:    tnputd
476# BINARY:   010011 00000 00000 00001 1 1010 000000
477# CHECK:    encoding: [0x4c,0x00,0x0e,0x80]
478            tnputd      r1
479
480# CHECK:    tnaputd
481# BINARY:   010011 00000 00000 00001 1 1011 000000
482# CHECK:    encoding: [0x4c,0x00,0x0e,0xc0]
483            tnaputd     r1
484
485# CHECK:    tncputd
486# BINARY:   010011 00000 00000 00001 1 1110 000000
487# CHECK:    encoding: [0x4c,0x00,0x0f,0x80]
488            tncputd     r1
489
490# CHECK:    tncaputd
491# BINARY:   010011 00000 00000 00001 1 1111 000000
492# CHECK:    encoding: [0x4c,0x00,0x0f,0xc0]
493            tncaputd    r1
494
495# CHECK:    get
496# BINARY:   011011 00000 000000 00000 000000 0001
497# CHECK:    encoding: [0x6c,0x00,0x00,0x01]
498            get     r0, rfsl1
499
500# CHECK:    get
501# BINARY:   011011 00000 000000 00000 000000 0010
502# CHECK:    encoding: [0x6c,0x00,0x00,0x02]
503            get     r0, rfsl2
504
505# CHECK:    get
506# BINARY:   011011 00000 000000 00000 000000 0011
507# CHECK:    encoding: [0x6c,0x00,0x00,0x03]
508            get     r0, rfsl3
509
510# CHECK:    get
511# BINARY:   011011 00000 000000 00000 000000 0100
512# CHECK:    encoding: [0x6c,0x00,0x00,0x04]
513            get     r0, rfsl4
514
515# CHECK:    get
516# BINARY:   011011 00000 000000 00000 000000 0101
517# CHECK:    encoding: [0x6c,0x00,0x00,0x05]
518            get     r0, rfsl5
519
520# CHECK:    get
521# BINARY:   011011 00000 000000 00000 000000 0110
522# CHECK:    encoding: [0x6c,0x00,0x00,0x06]
523            get     r0, rfsl6
524
525# CHECK:    get
526# BINARY:   011011 00000 000000 00000 000000 0111
527# CHECK:    encoding: [0x6c,0x00,0x00,0x07]
528            get     r0, rfsl7
529
530# CHECK:    get
531# BINARY:   011011 00000 000000 00000 000000 1000
532# CHECK:    encoding: [0x6c,0x00,0x00,0x08]
533            get     r0, rfsl8
534
535# CHECK:    get
536# BINARY:   011011 00000 000000 00000 000000 1001
537# CHECK:    encoding: [0x6c,0x00,0x00,0x09]
538            get     r0, rfsl9
539
540# CHECK:    get
541# BINARY:   011011 00000 000000 00000 000000 1010
542# CHECK:    encoding: [0x6c,0x00,0x00,0x0a]
543            get     r0, rfsl10
544
545# CHECK:    get
546# BINARY:   011011 00000 000000 00000 000000 1011
547# CHECK:    encoding: [0x6c,0x00,0x00,0x0b]
548            get     r0, rfsl11
549
550# CHECK:    get
551# BINARY:   011011 00000 000000 00000 000000 1100
552# CHECK:    encoding: [0x6c,0x00,0x00,0x0c]
553            get     r0, rfsl12
554
555# CHECK:    get
556# BINARY:   011011 00000 000000 00000 000000 1101
557# CHECK:    encoding: [0x6c,0x00,0x00,0x0d]
558            get     r0, rfsl13
559
560# CHECK:    get
561# BINARY:   011011 00000 000000 00000 000000 1110
562# CHECK:    encoding: [0x6c,0x00,0x00,0x0e]
563            get     r0, rfsl14
564
565# CHECK:    get
566# BINARY:   011011 00000 000000 00000 000000 1111
567# CHECK:    encoding: [0x6c,0x00,0x00,0x0f]
568            get     r0, rfsl15
569