Bug499183 - FreeBSD: differences in avx-vmovq output
[valgrind.git] / none / tests / nanomips / move.S
blobc4c49d2cc57a17aae9d2a8f55f57322c0971aa1c
1    .data
2    test_ints:
3        .word 0xFFFFFF65
4        .word 0xFFFFFFFA
5        .word 0x00000000
6        .word 0x00000045
7        .word 0x00000176
8        .word 0x7FFFFFFF
9        .word 0x80000000
10        .word 0xFFFFFFFF
12    .text
13        .align   1
15    .macro THREE_REG label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2
16        .data
17        &label:
18          .ascii "&instruction &reg1 %08x &reg2 %08x &reg3 %08x\n"
19          .byte 0
20        .text
21          li $ra, &mem1
22          lw &reg2, &offset1($ra)
23          li $ra, &mem2
24          lw &reg3, &offset2($ra)
25          &instruction &reg1, &reg2, &reg3
26          move $a1, &reg1
27          li $a0, &label
28          lw $a3, &offset2($ra)
29          li $ra, &mem1
30          lw $a2, &offset1($ra)
31          lapc[48] $t9, mwrap_printf
32          jalrc $t9
33    .endm
35    .macro TWO_REG_1_IMM label, instruction, reg1, reg2, offset, mem, imm
36        .data
37        &label:
38          .ascii "&instruction &reg1 %08x &reg2 %08x, &imm\n"
39          .byte 0
40        .text
41          li $ra, &mem
42          lw &reg2, &offset($ra)
43          &instruction &reg1, &reg2, &imm
44          move $a1, &reg1
45          li $a0, &label
46          lw $a2, &offset($ra)
47          lapc[48] $t9, mwrap_printf
48          jalrc $t9
49    .endm
51    .macro THREE_REG_A label, instruction, reg1, reg2, reg3, offset1, offset2, offset3, mem1, mem2, mem3
52        .data
53        &label:
54          .ascii "&instruction &reg1 %08x old %08x &reg2 %08x &reg3 %08x\n"
55          .byte 0
56        .text
57          li $ra, &mem1
58          lw &reg1, &offset1($ra)
59          li $ra, &mem2
60          lw &reg2, &offset2($ra)
61          li $ra, &mem3
62          lw &reg3, &offset3($ra)
63          &instruction &reg1, &reg2, &reg3
64          move $a1, &reg1
65          li $a0, &label
66          lw $a4, &offset3($ra)
67          li $ra, &mem1
68          lw $a2, &offset1($ra)
69          li $ra, &mem2
70          lw $a3, &offset2($ra)
71          lapc[48] $t9, mwrap_printf
72          jalrc $t9
73    .endm
75    .macro FOUR_REG label, instruction, reg1, reg2, reg3, reg4, offset1, offset2, mem1, mem2
76        .data
77        &label:
78          .ascii "&instruction &reg1 %08x &reg2 %08x &reg3 %08x &reg4 %08x\n"
79          .byte 0
80        .text
81          li $ra, &mem1
82          lw &reg3, &offset1($ra)
83          li $ra, &mem2
84          lw &reg4, &offset2($ra)
85          &instruction &reg1, &reg2, &reg3, &reg4
86          sw &reg2, 4($sp)
87          move $a1, &reg1
88          li $a0, &label
89          lw $a2, 4($sp)
90          lw $a4, &offset2($ra)
91          li $ra, &mem1
92          lw $a3, &offset1($ra)
93          lapc[48] $t9, mwrap_printf
94          jalrc $t9
95    .endm
98    .macro MOVE_BALC label, label2, reg1, reg2, offset, mem
99        .data
100        &label:
101          .ascii "move.balc &reg1 %08x &reg2 %08x, next_instruction\n"
102          .byte 0
103        .text
104          li $ra, &mem
105          lw &reg2, &offset($ra)
106          move.balc &reg1, &reg2, &label2
107        &label2:
108          move $a1, &reg1
109          li $a0, &label
110          li $ra, &mem
111          lw $a2, &offset($ra)
112          lapc[48] $t9, mwrap_printf
113          jalrc $t9
114    .endm
116    .globl main
117    .ent   main
118    .type  main, @function
119 main:
120    .set  noreorder
121    .set  nomacro
122    save  16, $ra
124 # slt
125    THREE_REG message1, slt, $a3, $s7, $s5, 20, 16, test_ints, test_ints
126    THREE_REG message2, slt, $a6, $t2, $t3, 4, 8, test_ints, test_ints
127    THREE_REG message3, slt, $a6, $a5, $t1, 28, 12, test_ints, test_ints
128    THREE_REG message4, slt, $a3, $s1, $a3, 4, 8, test_ints, test_ints
129    THREE_REG message5, slt, $s0, $s3, $a2, 16, 28, test_ints, test_ints
130    THREE_REG message6, slt, $a0, $s5, $s0, 8, 8, test_ints, test_ints
131    THREE_REG message7, slt, $s7, $a2, $s6, 0, 28, test_ints, test_ints
132    THREE_REG message8, slt, $a6, $a7, $a5, 4, 0, test_ints, test_ints
133    THREE_REG message9, slt, $s7, $a3, $s1, 0, 24, test_ints, test_ints
134    THREE_REG message10, slt, $t0, $s0, $a4, 0, 4, test_ints, test_ints
135    THREE_REG message11, slt, $s6, $a0, $a4, 16, 4, test_ints, test_ints
136    THREE_REG message12, slt, $s0, $s0, $s2, 0, 28, test_ints, test_ints
137    THREE_REG message13, slt, $s1, $a3, $a1, 12, 28, test_ints, test_ints
138    THREE_REG message14, slt, $s0, $a1, $a2, 24, 8, test_ints, test_ints
139    THREE_REG message15, slt, $a7, $a1, $a1, 0, 24, test_ints, test_ints
140    THREE_REG message16, slt, $s7, $a5, $s6, 28, 20, test_ints, test_ints
141    THREE_REG message17, slt, $a7, $a6, $t1, 28, 24, test_ints, test_ints
142    THREE_REG message18, slt, $s6, $s3, $s7, 4, 28, test_ints, test_ints
143    THREE_REG message19, slt, $s6, $a6, $a6, 12, 20, test_ints, test_ints
144    THREE_REG message20, slt, $s2, $s7, $s6, 16, 4, test_ints, test_ints
145    THREE_REG message21, slt, $a4, $s3, $s7, 4, 16, test_ints, test_ints
146    THREE_REG message22, slt, $a1, $s4, $a5, 12, 0, test_ints, test_ints
147    THREE_REG message23, slt, $s6, $s6, $a2, 28, 4, test_ints, test_ints
148    THREE_REG message24, slt, $s0, $a6, $a1, 12, 12, test_ints, test_ints
149    THREE_REG message25, slt, $s4, $s1, $a1, 28, 0, test_ints, test_ints
150    THREE_REG message26, slt, $a2, $a1, $a4, 0, 4, test_ints, test_ints
151    THREE_REG message27, slt, $t1, $s4, $s1, 16, 4, test_ints, test_ints
152    THREE_REG message28, slt, $s1, $s5, $a1, 8, 16, test_ints, test_ints
153    THREE_REG message29, slt, $a5, $a0, $a6, 12, 28, test_ints, test_ints
154    THREE_REG message30, slt, $t0, $s0, $a1, 4, 28, test_ints, test_ints
155    THREE_REG message31, slt, $a4, $s5, $s5, 4, 0, test_ints, test_ints
156    THREE_REG message32, slt, $a1, $t3, $t1, 4, 12, test_ints, test_ints
157    THREE_REG message33, slt, $s7, $a7, $s3, 16, 12, test_ints, test_ints
158    THREE_REG message34, slt, $a0, $a5, $t1, 24, 28, test_ints, test_ints
159    THREE_REG message35, slt, $s1, $s3, $a3, 0, 12, test_ints, test_ints
160    THREE_REG message36, slt, $a6, $t0, $t3, 0, 4, test_ints, test_ints
161    THREE_REG message37, slt, $a2, $a4, $s2, 12, 24, test_ints, test_ints
162    THREE_REG message38, slt, $a7, $a1, $a1, 0, 8, test_ints, test_ints
163    THREE_REG message39, slt, $a1, $t3, $s1, 0, 12, test_ints, test_ints
164    THREE_REG message40, slt, $a1, $t1, $a0, 8, 12, test_ints, test_ints
166 # sltu
167    THREE_REG message41, sltu, $a3, $t3, $a2, 24, 12, test_ints, test_ints
168    THREE_REG message42, sltu, $a5, $a5, $s7, 16, 20, test_ints, test_ints
169    THREE_REG message43, sltu, $s4, $t3, $s1, 28, 24, test_ints, test_ints
170    THREE_REG message44, sltu, $s3, $a2, $s3, 4, 8, test_ints, test_ints
171    THREE_REG message45, sltu, $a2, $t2, $t2, 12, 24, test_ints, test_ints
172    THREE_REG message46, sltu, $a5, $a4, $s3, 24, 8, test_ints, test_ints
173    THREE_REG message47, sltu, $a2, $a1, $a6, 4, 16, test_ints, test_ints
174    THREE_REG message48, sltu, $a5, $a2, $a5, 20, 12, test_ints, test_ints
175    THREE_REG message49, sltu, $a2, $a5, $t2, 28, 0, test_ints, test_ints
176    THREE_REG message50, sltu, $t0, $s7, $a2, 16, 0, test_ints, test_ints
177    THREE_REG message51, sltu, $a1, $s6, $s2, 28, 4, test_ints, test_ints
178    THREE_REG message52, sltu, $a4, $t0, $s6, 0, 8, test_ints, test_ints
179    THREE_REG message53, sltu, $a0, $t2, $s0, 8, 28, test_ints, test_ints
180    THREE_REG message54, sltu, $s0, $t0, $s2, 20, 4, test_ints, test_ints
181    THREE_REG message55, sltu, $s1, $a7, $s6, 28, 8, test_ints, test_ints
182    THREE_REG message56, sltu, $s7, $s7, $a5, 20, 28, test_ints, test_ints
183    THREE_REG message57, sltu, $t1, $s2, $a1, 28, 4, test_ints, test_ints
184    THREE_REG message58, sltu, $t3, $a4, $s2, 4, 16, test_ints, test_ints
185    THREE_REG message59, sltu, $a4, $a5, $s2, 0, 0, test_ints, test_ints
186    THREE_REG message60, sltu, $t2, $s4, $a0, 0, 4, test_ints, test_ints
187    THREE_REG message61, sltu, $a1, $s1, $a4, 28, 0, test_ints, test_ints
188    THREE_REG message62, sltu, $s7, $a2, $s7, 0, 0, test_ints, test_ints
189    THREE_REG message63, sltu, $a3, $s2, $s6, 0, 4, test_ints, test_ints
190    THREE_REG message64, sltu, $t0, $a3, $a1, 8, 0, test_ints, test_ints
191    THREE_REG message65, sltu, $s5, $a2, $s6, 16, 12, test_ints, test_ints
192    THREE_REG message66, sltu, $t2, $s6, $t3, 8, 24, test_ints, test_ints
193    THREE_REG message67, sltu, $t1, $s3, $s7, 20, 24, test_ints, test_ints
194    THREE_REG message68, sltu, $a3, $s0, $a1, 8, 20, test_ints, test_ints
195    THREE_REG message69, sltu, $a5, $s5, $s3, 12, 24, test_ints, test_ints
196    THREE_REG message70, sltu, $a0, $s7, $s5, 24, 4, test_ints, test_ints
197    THREE_REG message71, sltu, $a2, $a7, $s0, 16, 12, test_ints, test_ints
198    THREE_REG message72, sltu, $s7, $a6, $s1, 24, 16, test_ints, test_ints
199    THREE_REG message73, sltu, $s7, $a3, $t3, 24, 20, test_ints, test_ints
200    THREE_REG message74, sltu, $t1, $a5, $t1, 8, 0, test_ints, test_ints
201    THREE_REG message75, sltu, $t2, $s7, $a1, 20, 28, test_ints, test_ints
202    THREE_REG message76, sltu, $s3, $s2, $a2, 4, 16, test_ints, test_ints
203    THREE_REG message77, sltu, $t0, $t3, $a3, 16, 12, test_ints, test_ints
204    THREE_REG message78, sltu, $a7, $s3, $s5, 0, 4, test_ints, test_ints
205    THREE_REG message79, sltu, $a1, $a4, $a1, 16, 24, test_ints, test_ints
206    THREE_REG message80, sltu, $s2, $s1, $a4, 28, 0, test_ints, test_ints
208 # slti
209    TWO_REG_1_IMM message81, slti, $a0, $a6, 12, test_ints, 1793
210    TWO_REG_1_IMM message82, slti, $a7, $a2, 20, test_ints, 2473
211    TWO_REG_1_IMM message83, slti, $a5, $s2, 20, test_ints, 777
212    TWO_REG_1_IMM message84, slti, $s1, $s1, 20, test_ints, 856
213    TWO_REG_1_IMM message85, slti, $s0, $s4, 20, test_ints, 2648
214    TWO_REG_1_IMM message86, slti, $s1, $a2, 0, test_ints, 2034
215    TWO_REG_1_IMM message87, slti, $s6, $t3, 0, test_ints, 3335
216    TWO_REG_1_IMM message88, slti, $a3, $a0, 28, test_ints, 1551
217    TWO_REG_1_IMM message89, slti, $a6, $s7, 0, test_ints, 1153
218    TWO_REG_1_IMM message90, slti, $t1, $a5, 12, test_ints, 646
219    TWO_REG_1_IMM message91, slti, $s7, $a0, 28, test_ints, 2208
220    TWO_REG_1_IMM message92, slti, $a1, $s0, 0, test_ints, 2561
221    TWO_REG_1_IMM message93, slti, $a0, $a5, 8, test_ints, 1910
222    TWO_REG_1_IMM message94, slti, $t3, $a2, 0, test_ints, 4037
223    TWO_REG_1_IMM message95, slti, $a1, $t1, 20, test_ints, 268
224    TWO_REG_1_IMM message96, slti, $t1, $s0, 12, test_ints, 2919
225    TWO_REG_1_IMM message97, slti, $a3, $s4, 0, test_ints, 3837
226    TWO_REG_1_IMM message98, slti, $s1, $a7, 12, test_ints, 949
227    TWO_REG_1_IMM message99, slti, $a0, $t3, 20, test_ints, 3357
228    TWO_REG_1_IMM message100, slti, $a7, $s2, 28, test_ints, 4028
229    TWO_REG_1_IMM message101, slti, $a7, $s5, 8, test_ints, 3991
230    TWO_REG_1_IMM message102, slti, $s7, $a6, 16, test_ints, 1349
231    TWO_REG_1_IMM message103, slti, $a3, $a5, 4, test_ints, 420
232    TWO_REG_1_IMM message104, slti, $s6, $a1, 12, test_ints, 2693
233    TWO_REG_1_IMM message105, slti, $s5, $a0, 8, test_ints, 1634
234    TWO_REG_1_IMM message106, slti, $t3, $s6, 28, test_ints, 1995
235    TWO_REG_1_IMM message107, slti, $s5, $a5, 4, test_ints, 936
236    TWO_REG_1_IMM message108, slti, $a7, $t0, 16, test_ints, 686
237    TWO_REG_1_IMM message109, slti, $s1, $a6, 20, test_ints, 1484
238    TWO_REG_1_IMM message110, slti, $s5, $a6, 4, test_ints, 2412
240 # sltiu
241    TWO_REG_1_IMM message111, sltiu, $s3, $s7, 4, test_ints, 2369
242    TWO_REG_1_IMM message112, sltiu, $t0, $s4, 28, test_ints, 105
243    TWO_REG_1_IMM message113, sltiu, $a4, $s5, 12, test_ints, 24
244    TWO_REG_1_IMM message114, sltiu, $t3, $a7, 12, test_ints, 2664
245    TWO_REG_1_IMM message115, sltiu, $a4, $t0, 4, test_ints, 1547
246    TWO_REG_1_IMM message116, sltiu, $s4, $a1, 4, test_ints, 85
247    TWO_REG_1_IMM message117, sltiu, $s0, $s3, 8, test_ints, 3389
248    TWO_REG_1_IMM message118, sltiu, $s1, $a7, 4, test_ints, 2668
249    TWO_REG_1_IMM message119, sltiu, $a2, $a6, 24, test_ints, 358
250    TWO_REG_1_IMM message120, sltiu, $t3, $s1, 28, test_ints, 3815
251    TWO_REG_1_IMM message121, sltiu, $s6, $s7, 28, test_ints, 3342
252    TWO_REG_1_IMM message122, sltiu, $s6, $s7, 24, test_ints, 206
253    TWO_REG_1_IMM message123, sltiu, $s3, $a7, 4, test_ints, 3204
254    TWO_REG_1_IMM message124, sltiu, $s1, $a6, 4, test_ints, 777
255    TWO_REG_1_IMM message125, sltiu, $s1, $s3, 24, test_ints, 1842
256    TWO_REG_1_IMM message126, sltiu, $s3, $a3, 28, test_ints, 1733
257    TWO_REG_1_IMM message127, sltiu, $s2, $a1, 16, test_ints, 641
258    TWO_REG_1_IMM message128, sltiu, $a2, $a7, 0, test_ints, 384
259    TWO_REG_1_IMM message129, sltiu, $s6, $s0, 24, test_ints, 3092
260    TWO_REG_1_IMM message130, sltiu, $a3, $a1, 8, test_ints, 2810
261    TWO_REG_1_IMM message131, sltiu, $s0, $a7, 24, test_ints, 649
262    TWO_REG_1_IMM message132, sltiu, $a6, $s4, 8, test_ints, 3551
263    TWO_REG_1_IMM message133, sltiu, $s7, $s0, 8, test_ints, 2946
264    TWO_REG_1_IMM message134, sltiu, $a4, $a5, 0, test_ints, 1394
265    TWO_REG_1_IMM message135, sltiu, $t2, $a0, 12, test_ints, 2240
266    TWO_REG_1_IMM message136, sltiu, $a7, $s7, 0, test_ints, 1798
267    TWO_REG_1_IMM message137, sltiu, $a3, $t3, 8, test_ints, 270
268    TWO_REG_1_IMM message138, sltiu, $a0, $s1, 4, test_ints, 2656
269    TWO_REG_1_IMM message139, sltiu, $t0, $s7, 8, test_ints, 1798
270    TWO_REG_1_IMM message140, sltiu, $t3, $t0, 24, test_ints, 3891
272 # sov
273    THREE_REG message141, sov, $a5, $t0, $s5, 20, 4, test_ints, test_ints
274    THREE_REG message142, sov, $t1, $a7, $s3, 4, 8, test_ints, test_ints
275    THREE_REG message143, sov, $s3, $t1, $a1, 28, 28, test_ints, test_ints
276    THREE_REG message144, sov, $t1, $t2, $a1, 28, 8, test_ints, test_ints
277    THREE_REG message145, sov, $s2, $s0, $t3, 28, 0, test_ints, test_ints
278    THREE_REG message146, sov, $t1, $s5, $s7, 4, 12, test_ints, test_ints
279    THREE_REG message147, sov, $a2, $s2, $t3, 0, 12, test_ints, test_ints
280    THREE_REG message148, sov, $s4, $t1, $s2, 12, 28, test_ints, test_ints
281    THREE_REG message149, sov, $s0, $t2, $a4, 8, 8, test_ints, test_ints
282    THREE_REG message150, sov, $s7, $t3, $s0, 0, 8, test_ints, test_ints
283    THREE_REG message151, sov, $a7, $t3, $a3, 24, 24, test_ints, test_ints
284    THREE_REG message152, sov, $s3, $s7, $s3, 8, 16, test_ints, test_ints
285    THREE_REG message153, sov, $a7, $a1, $a3, 8, 20, test_ints, test_ints
286    THREE_REG message154, sov, $a6, $a3, $a6, 4, 8, test_ints, test_ints
287    THREE_REG message155, sov, $s5, $t1, $t1, 4, 28, test_ints, test_ints
288    THREE_REG message156, sov, $a7, $a4, $t2, 28, 4, test_ints, test_ints
289    THREE_REG message157, sov, $a5, $s6, $a0, 0, 0, test_ints, test_ints
290    THREE_REG message158, sov, $s2, $s3, $t3, 4, 20, test_ints, test_ints
291    THREE_REG message159, sov, $a0, $a0, $s2, 12, 12, test_ints, test_ints
292    THREE_REG message160, sov, $s3, $a1, $a2, 8, 8, test_ints, test_ints
293    THREE_REG message161, sov, $s4, $s7, $a0, 4, 20, test_ints, test_ints
294    THREE_REG message162, sov, $t3, $s0, $s1, 8, 0, test_ints, test_ints
295    THREE_REG message163, sov, $a2, $a7, $s2, 24, 28, test_ints, test_ints
296    THREE_REG message164, sov, $a3, $a4, $t2, 24, 24, test_ints, test_ints
297    THREE_REG message165, sov, $a7, $s6, $s2, 8, 4, test_ints, test_ints
298    THREE_REG message166, sov, $a1, $a1, $a3, 12, 12, test_ints, test_ints
299    THREE_REG message167, sov, $a5, $s0, $t3, 20, 4, test_ints, test_ints
300    THREE_REG message168, sov, $t0, $t1, $t2, 4, 28, test_ints, test_ints
301    THREE_REG message169, sov, $s6, $a0, $a6, 16, 24, test_ints, test_ints
302    THREE_REG message170, sov, $a5, $t3, $s3, 28, 24, test_ints, test_ints
303    THREE_REG message171, sov, $s5, $a2, $s0, 28, 0, test_ints, test_ints
304    THREE_REG message172, sov, $t2, $a5, $a6, 4, 16, test_ints, test_ints
305    THREE_REG message173, sov, $s1, $t2, $s0, 16, 16, test_ints, test_ints
306    THREE_REG message174, sov, $t2, $t0, $a5, 0, 8, test_ints, test_ints
307    THREE_REG message175, sov, $t0, $s6, $s6, 24, 24, test_ints, test_ints
308    THREE_REG message176, sov, $a0, $t3, $s2, 12, 8, test_ints, test_ints
309    THREE_REG message177, sov, $s4, $t0, $t0, 0, 16, test_ints, test_ints
310    THREE_REG message178, sov, $a1, $s2, $t1, 12, 28, test_ints, test_ints
311    THREE_REG message179, sov, $s1, $s0, $s6, 24, 20, test_ints, test_ints
312    THREE_REG message180, sov, $a2, $s0, $a5, 12, 16, test_ints, test_ints
314 # movn
315    THREE_REG_A message181, movn, $s3, $a3, $a2, 4, 4, 16, test_ints, test_ints, test_ints
316    THREE_REG_A message182, movn, $t2, $t0, $a2, 20, 24, 24, test_ints, test_ints, test_ints
317    THREE_REG_A message183, movn, $s2, $t2, $t3, 24, 28, 20, test_ints, test_ints, test_ints
318    THREE_REG_A message184, movn, $a3, $t2, $a5, 16, 12, 12, test_ints, test_ints, test_ints
319    THREE_REG_A message185, movn, $a2, $s0, $s5, 24, 20, 0, test_ints, test_ints, test_ints
320    THREE_REG_A message186, movn, $s2, $t1, $s7, 0, 24, 16, test_ints, test_ints, test_ints
321    THREE_REG_A message187, movn, $t1, $s4, $a0, 28, 24, 24, test_ints, test_ints, test_ints
322    THREE_REG_A message188, movn, $t2, $s0, $s4, 20, 24, 16, test_ints, test_ints, test_ints
323    THREE_REG_A message189, movn, $s2, $a5, $s6, 28, 20, 4, test_ints, test_ints, test_ints
324    THREE_REG_A message190, movn, $t2, $s4, $a1, 28, 24, 28, test_ints, test_ints, test_ints
325    THREE_REG_A message191, movn, $s7, $t1, $a4, 8, 4, 8, test_ints, test_ints, test_ints
326    THREE_REG_A message192, movn, $s6, $s2, $s3, 24, 24, 4, test_ints, test_ints, test_ints
327    THREE_REG_A message193, movn, $a0, $s4, $s1, 4, 4, 28, test_ints, test_ints, test_ints
328    THREE_REG_A message194, movn, $a1, $a3, $s0, 12, 12, 20, test_ints, test_ints, test_ints
329    THREE_REG_A message195, movn, $s1, $s1, $s5, 24, 20, 16, test_ints, test_ints, test_ints
330    THREE_REG_A message196, movn, $s1, $a0, $s1, 4, 28, 24, test_ints, test_ints, test_ints
331    THREE_REG_A message197, movn, $a4, $t1, $s5, 28, 16, 12, test_ints, test_ints, test_ints
332    THREE_REG_A message198, movn, $t0, $t0, $s3, 4, 4, 0, test_ints, test_ints, test_ints
333    THREE_REG_A message199, movn, $s0, $s6, $t3, 0, 8, 24, test_ints, test_ints, test_ints
334    THREE_REG_A message200, movn, $t1, $s3, $s4, 12, 20, 4, test_ints, test_ints, test_ints
335    THREE_REG_A message201, movn, $a3, $a3, $t1, 16, 16, 16, test_ints, test_ints, test_ints
336    THREE_REG_A message202, movn, $a6, $a4, $s2, 28, 28, 24, test_ints, test_ints, test_ints
337    THREE_REG_A message203, movn, $s2, $a7, $s6, 4, 0, 0, test_ints, test_ints, test_ints
338    THREE_REG_A message204, movn, $t1, $a0, $s6, 20, 0, 0, test_ints, test_ints, test_ints
339    THREE_REG_A message205, movn, $s3, $t2, $a7, 28, 4, 20, test_ints, test_ints, test_ints
340    THREE_REG_A message206, movn, $s4, $a4, $s0, 24, 16, 16, test_ints, test_ints, test_ints
341    THREE_REG_A message207, movn, $s6, $s6, $s5, 16, 24, 16, test_ints, test_ints, test_ints
342    THREE_REG_A message208, movn, $a2, $t0, $s4, 4, 8, 16, test_ints, test_ints, test_ints
343    THREE_REG_A message209, movn, $t1, $a7, $t1, 28, 0, 20, test_ints, test_ints, test_ints
344    THREE_REG_A message210, movn, $s0, $a0, $s7, 28, 12, 16, test_ints, test_ints, test_ints
345    THREE_REG_A message211, movn, $a0, $s0, $a0, 16, 8, 0, test_ints, test_ints, test_ints
346    THREE_REG_A message212, movn, $t1, $t0, $a3, 24, 4, 20, test_ints, test_ints, test_ints
347    THREE_REG_A message213, movn, $s6, $s7, $a5, 24, 16, 28, test_ints, test_ints, test_ints
348    THREE_REG_A message214, movn, $s3, $a1, $s7, 0, 20, 12, test_ints, test_ints, test_ints
349    THREE_REG_A message215, movn, $t1, $s5, $s7, 4, 16, 12, test_ints, test_ints, test_ints
350    THREE_REG_A message216, movn, $s1, $a1, $s3, 8, 20, 4, test_ints, test_ints, test_ints
351    THREE_REG_A message217, movn, $s2, $a6, $s5, 4, 16, 24, test_ints, test_ints, test_ints
352    THREE_REG_A message218, movn, $a6, $a3, $s6, 16, 20, 24, test_ints, test_ints, test_ints
353    THREE_REG_A message219, movn, $s3, $s4, $a0, 24, 0, 4, test_ints, test_ints, test_ints
354    THREE_REG_A message220, movn, $s6, $a2, $t2, 4, 28, 8, test_ints, test_ints, test_ints
356 # movz
357    THREE_REG_A message221, movz, $s4, $t0, $s3, 12, 24, 4, test_ints, test_ints, test_ints
358    THREE_REG_A message222, movz, $s0, $a1, $t3, 8, 8, 16, test_ints, test_ints, test_ints
359    THREE_REG_A message223, movz, $a0, $a5, $a3, 8, 20, 0, test_ints, test_ints, test_ints
360    THREE_REG_A message224, movz, $a5, $s4, $s1, 20, 28, 4, test_ints, test_ints, test_ints
361    THREE_REG_A message225, movz, $a2, $a5, $s7, 16, 8, 24, test_ints, test_ints, test_ints
362    THREE_REG_A message226, movz, $a2, $a7, $t3, 8, 8, 4, test_ints, test_ints, test_ints
363    THREE_REG_A message227, movz, $a7, $s3, $a2, 8, 4, 20, test_ints, test_ints, test_ints
364    THREE_REG_A message228, movz, $t2, $a5, $t2, 4, 16, 12, test_ints, test_ints, test_ints
365    THREE_REG_A message229, movz, $t2, $t1, $s3, 12, 8, 8, test_ints, test_ints, test_ints
366    THREE_REG_A message230, movz, $a0, $s0, $a7, 16, 16, 24, test_ints, test_ints, test_ints
367    THREE_REG_A message231, movz, $s2, $s6, $s5, 20, 16, 28, test_ints, test_ints, test_ints
368    THREE_REG_A message232, movz, $s3, $a7, $t2, 4, 8, 28, test_ints, test_ints, test_ints
369    THREE_REG_A message233, movz, $t2, $t0, $a1, 16, 8, 20, test_ints, test_ints, test_ints
370    THREE_REG_A message234, movz, $a7, $a0, $a2, 12, 28, 16, test_ints, test_ints, test_ints
371    THREE_REG_A message235, movz, $a5, $a7, $t0, 4, 28, 0, test_ints, test_ints, test_ints
372    THREE_REG_A message236, movz, $s3, $a6, $s2, 16, 28, 28, test_ints, test_ints, test_ints
373    THREE_REG_A message237, movz, $t3, $s2, $s2, 8, 0, 0, test_ints, test_ints, test_ints
374    THREE_REG_A message238, movz, $s5, $a6, $t1, 8, 12, 12, test_ints, test_ints, test_ints
375    THREE_REG_A message239, movz, $t3, $s6, $t3, 4, 20, 24, test_ints, test_ints, test_ints
376    THREE_REG_A message240, movz, $s1, $a3, $a5, 4, 16, 4, test_ints, test_ints, test_ints
377    THREE_REG_A message241, movz, $s5, $s3, $s3, 16, 28, 8, test_ints, test_ints, test_ints
378    THREE_REG_A message242, movz, $t3, $a6, $a1, 4, 16, 4, test_ints, test_ints, test_ints
379    THREE_REG_A message243, movz, $s2, $t2, $a7, 12, 0, 8, test_ints, test_ints, test_ints
380    THREE_REG_A message244, movz, $t2, $a4, $s1, 20, 4, 8, test_ints, test_ints, test_ints
381    THREE_REG_A message245, movz, $s7, $s7, $a1, 16, 0, 4, test_ints, test_ints, test_ints
382    THREE_REG_A message246, movz, $a5, $a6, $a4, 0, 24, 12, test_ints, test_ints, test_ints
383    THREE_REG_A message247, movz, $t3, $s5, $a6, 16, 8, 8, test_ints, test_ints, test_ints
384    THREE_REG_A message248, movz, $a1, $a4, $s4, 16, 28, 4, test_ints, test_ints, test_ints
385    THREE_REG_A message249, movz, $a3, $s5, $a1, 16, 8, 8, test_ints, test_ints, test_ints
386    THREE_REG_A message250, movz, $t2, $s1, $a5, 16, 8, 8, test_ints, test_ints, test_ints
387    THREE_REG_A message251, movz, $s5, $t3, $t0, 8, 0, 8, test_ints, test_ints, test_ints
388    THREE_REG_A message252, movz, $s1, $a7, $a3, 12, 28, 20, test_ints, test_ints, test_ints
389    THREE_REG_A message253, movz, $s2, $s4, $a6, 24, 0, 4, test_ints, test_ints, test_ints
390    THREE_REG_A message254, movz, $s3, $a7, $a7, 0, 12, 4, test_ints, test_ints, test_ints
391    THREE_REG_A message255, movz, $a3, $s2, $s3, 16, 24, 4, test_ints, test_ints, test_ints
392    THREE_REG_A message256, movz, $t2, $a7, $a4, 8, 20, 0, test_ints, test_ints, test_ints
393    THREE_REG_A message257, movz, $t0, $s7, $a3, 28, 24, 8, test_ints, test_ints, test_ints
394    THREE_REG_A message258, movz, $a1, $t0, $a6, 28, 12, 28, test_ints, test_ints, test_ints
395    THREE_REG_A message259, movz, $a0, $s6, $a6, 28, 12, 8, test_ints, test_ints, test_ints
396    THREE_REG_A message260, movz, $s1, $s6, $a0, 0, 8, 8, test_ints, test_ints, test_ints
398 # movep
399    FOUR_REG message261, movep, $a2, $a3, $a0, $s7, 28, 28, test_ints, test_ints
400    FOUR_REG message262, movep, $a0, $a1, $a3, $s1, 0, 4, test_ints, test_ints
401    FOUR_REG message263, movep, $a0, $a1, $s4, $s7, 20, 16, test_ints, test_ints
402    FOUR_REG message264, movep, $a2, $a3, $s3, $s1, 24, 28, test_ints, test_ints
403    FOUR_REG message265, movep, $a2, $a3, $a1, $s5, 0, 20, test_ints, test_ints
404    FOUR_REG message266, movep, $a2, $a3, $s2, $s3, 12, 24, test_ints, test_ints
405    FOUR_REG message267, movep, $a0, $a1, $s7, $a1, 24, 0, test_ints, test_ints
406    FOUR_REG message268, movep, $a1, $a2, $s2, $s1, 20, 28, test_ints, test_ints
407    FOUR_REG message269, movep, $a1, $a2, $s4, $a0, 16, 8, test_ints, test_ints
408    FOUR_REG message270, movep, $a3, $a4, $s4, $s0, 16, 16, test_ints, test_ints
409    FOUR_REG message271, movep, $a1, $a2, $s6, $s0, 8, 8, test_ints, test_ints
410    FOUR_REG message272, movep, $a2, $a3, $s5, $a5, 28, 12, test_ints, test_ints
411    FOUR_REG message273, movep, $a1, $a2, $s7, $s2, 12, 12, test_ints, test_ints
412    FOUR_REG message274, movep, $a2, $a3, $a5, $a1, 24, 8, test_ints, test_ints
413    FOUR_REG message275, movep, $a1, $a2, $s6, $r0, 8, 20, test_ints, test_ints
414    FOUR_REG message276, movep, $a3, $a4, $s7, $a5, 8, 16, test_ints, test_ints
415    FOUR_REG message277, movep, $a1, $a2, $s6, $s2, 4, 20, test_ints, test_ints
416    FOUR_REG message278, movep, $a0, $a1, $s0, $s6, 16, 24, test_ints, test_ints
417    FOUR_REG message279, movep, $a1, $a2, $s7, $r0, 12, 24, test_ints, test_ints
418    FOUR_REG message280, movep, $a3, $a4, $a6, $s7, 16, 12, test_ints, test_ints
419    FOUR_REG message281, movep, $a1, $a2, $a5, $s2, 0, 4, test_ints, test_ints
420    FOUR_REG message282, movep, $a3, $a4, $r0, $s3, 28, 24, test_ints, test_ints
421    FOUR_REG message283, movep, $a1, $a2, $s7, $a3, 20, 24, test_ints, test_ints
422    FOUR_REG message284, movep, $a3, $a4, $s3, $s2, 24, 8, test_ints, test_ints
423    FOUR_REG message285, movep, $a1, $a2, $s5, $s2, 20, 12, test_ints, test_ints
424    FOUR_REG message286, movep, $a3, $a4, $r0, $s6, 8, 16, test_ints, test_ints
425    FOUR_REG message287, movep, $a1, $a2, $r0, $s2, 0, 8, test_ints, test_ints
426    FOUR_REG message288, movep, $a3, $a4, $a0, $r0, 20, 12, test_ints, test_ints
427    FOUR_REG message289, movep, $a1, $a2, $s5, $s3, 24, 12, test_ints, test_ints
428    FOUR_REG message290, movep, $a1, $a2, $s6, $s2, 4, 8, test_ints, test_ints
429    FOUR_REG message291, movep, $a2, $a3, $s6, $s5, 24, 4, test_ints, test_ints
430    FOUR_REG message292, movep, $a2, $a3, $s3, $s1, 28, 12, test_ints, test_ints
431    FOUR_REG message293, movep, $a0, $a1, $s5, $a6, 28, 8, test_ints, test_ints
432    FOUR_REG message294, movep, $a0, $a1, $s4, $a6, 4, 8, test_ints, test_ints
433    FOUR_REG message295, movep, $a3, $a4, $a6, $a2, 16, 16, test_ints, test_ints
434    FOUR_REG message296, movep, $a0, $a1, $a5, $s4, 12, 24, test_ints, test_ints
435    FOUR_REG message297, movep, $a1, $a2, $s0, $s1, 28, 20, test_ints, test_ints
436    FOUR_REG message298, movep, $a0, $a1, $r0, $s2, 16, 16, test_ints, test_ints
437    FOUR_REG message299, movep, $a0, $a1, $s4, $s0, 24, 0, test_ints, test_ints
438    FOUR_REG message300, movep, $a3, $a4, $a6, $s7, 16, 24, test_ints, test_ints
440 # movep[rev]
441    FOUR_REG message301, movep[rev], $s1, $s0, $a2, $a3, 16, 8, test_ints, test_ints
442    FOUR_REG message302, movep[rev], $a0, $a6, $a3, $a4, 0, 28, test_ints, test_ints
443    FOUR_REG message303, movep[rev], $s6, $s4, $a0, $a1, 20, 0, test_ints, test_ints
444    FOUR_REG message304, movep[rev], $s7, $s1, $a0, $a1, 28, 12, test_ints, test_ints
445    FOUR_REG message305, movep[rev], $s2, $s6, $a0, $a1, 20, 16, test_ints, test_ints
446    FOUR_REG message306, movep[rev], $s7, $a6, $a0, $a1, 16, 0, test_ints, test_ints
447    FOUR_REG message307, movep[rev], $s7, $s2, $a2, $a3, 12, 4, test_ints, test_ints
448    FOUR_REG message308, movep[rev], $a7, $s5, $a3, $a4, 24, 16, test_ints, test_ints
449    FOUR_REG message309, movep[rev], $a4, $s5, $a2, $a3, 28, 28, test_ints, test_ints
450    FOUR_REG message310, movep[rev], $s1, $s3, $a3, $a4, 8, 16, test_ints, test_ints
451    FOUR_REG message311, movep[rev], $a7, $s1, $a2, $a3, 0, 20, test_ints, test_ints
452    FOUR_REG message312, movep[rev], $s4, $s2, $a0, $a1, 28, 0, test_ints, test_ints
453    FOUR_REG message313, movep[rev], $a2, $a6, $a0, $a1, 12, 28, test_ints, test_ints
454    FOUR_REG message314, movep[rev], $a3, $a2, $a1, $a2, 8, 16, test_ints, test_ints
455    FOUR_REG message315, movep[rev], $a6, $s6, $a2, $a3, 4, 20, test_ints, test_ints
456    FOUR_REG message316, movep[rev], $s1, $a0, $a1, $a2, 8, 4, test_ints, test_ints
457    FOUR_REG message317, movep[rev], $s7, $a7, $a0, $a1, 28, 12, test_ints, test_ints
458    FOUR_REG message318, movep[rev], $a2, $a4, $a3, $a4, 0, 4, test_ints, test_ints
459    FOUR_REG message319, movep[rev], $a2, $a6, $a0, $a1, 16, 28, test_ints, test_ints
460    FOUR_REG message320, movep[rev], $s6, $s5, $a2, $a3, 24, 12, test_ints, test_ints
461    FOUR_REG message321, movep[rev], $a0, $a1, $a3, $a4, 20, 16, test_ints, test_ints
462    FOUR_REG message322, movep[rev], $s3, $a6, $a0, $a1, 24, 28, test_ints, test_ints
463    FOUR_REG message323, movep[rev], $a3, $s4, $a1, $a2, 16, 12, test_ints, test_ints
464    FOUR_REG message324, movep[rev], $s6, $s3, $a1, $a2, 8, 8, test_ints, test_ints
465    FOUR_REG message325, movep[rev], $s4, $a6, $a1, $a2, 4, 24, test_ints, test_ints
466    FOUR_REG message326, movep[rev], $a4, $s4, $a2, $a3, 28, 12, test_ints, test_ints
467    FOUR_REG message327, movep[rev], $a6, $s0, $a0, $a1, 20, 0, test_ints, test_ints
468    FOUR_REG message328, movep[rev], $s2, $a6, $a2, $a3, 0, 8, test_ints, test_ints
469    FOUR_REG message329, movep[rev], $a6, $s6, $a2, $a3, 16, 20, test_ints, test_ints
470    FOUR_REG message330, movep[rev], $a4, $s2, $a2, $a3, 4, 12, test_ints, test_ints
471    FOUR_REG message331, movep[rev], $s1, $s6, $a2, $a3, 8, 16, test_ints, test_ints
472    FOUR_REG message332, movep[rev], $a5, $a3, $a0, $a1, 16, 0, test_ints, test_ints
473    FOUR_REG message333, movep[rev], $s1, $a0, $a2, $a3, 0, 12, test_ints, test_ints
474    FOUR_REG message334, movep[rev], $a5, $a0, $a1, $a2, 12, 8, test_ints, test_ints
475    FOUR_REG message335, movep[rev], $a7, $s1, $a2, $a3, 20, 8, test_ints, test_ints
476    FOUR_REG message336, movep[rev], $s6, $s2, $a0, $a1, 16, 8, test_ints, test_ints
477    FOUR_REG message337, movep[rev], $a6, $s7, $a2, $a3, 12, 8, test_ints, test_ints
478    FOUR_REG message338, movep[rev], $a0, $a7, $a2, $a3, 4, 24, test_ints, test_ints
479    FOUR_REG message339, movep[rev], $s5, $s7, $a1, $a2, 4, 20, test_ints, test_ints
480    FOUR_REG message340, movep[rev], $a5, $s5, $a1, $a2, 16, 20, test_ints, test_ints
482 # move.balc
483    MOVE_BALC message341, label341, $a1, $s2, 16, test_ints
484    MOVE_BALC message342, label342, $a1, $s4, 8, test_ints
485    MOVE_BALC message343, label343, $a1, $s0, 4, test_ints
486    MOVE_BALC message344, label344, $a0, $s3, 20, test_ints
487    MOVE_BALC message345, label345, $a1, $s6, 8, test_ints
488    MOVE_BALC message346, label346, $a0, $a5, 12, test_ints
489    MOVE_BALC message347, label347, $a1, $a5, 0, test_ints
490    MOVE_BALC message348, label348, $a1, $a3, 4, test_ints
491    MOVE_BALC message349, label349, $a0, $a0, 20, test_ints
492    MOVE_BALC message350, label350, $a1, $a0, 24, test_ints
493    MOVE_BALC message351, label351, $a1, $r0, 8, test_ints
494    MOVE_BALC message352, label352, $a1, $a1, 20, test_ints
495    MOVE_BALC message353, label353, $a0, $a5, 24, test_ints
496    MOVE_BALC message354, label354, $a1, $r0, 8, test_ints
497    MOVE_BALC message355, label355, $a0, $s7, 0, test_ints
498    MOVE_BALC message356, label356, $a0, $s4, 20, test_ints
499    MOVE_BALC message357, label357, $a1, $s3, 8, test_ints
500    MOVE_BALC message358, label358, $a0, $s1, 20, test_ints
501    MOVE_BALC message359, label359, $a1, $a4, 20, test_ints
502    MOVE_BALC message360, label360, $a0, $a4, 24, test_ints
504    move $a0, $zero
505    restore 16, $ra
506    jrc   $ra
507    .set  macro
508    .set  reorder
509    .end  main
510    .size main, .-main