• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <stdio.h>
2 /* Independent tests for each DSP instruction from MIPS32 DSP ASE instruction
3    set */
4 
5 unsigned int mem[] = {
6    0x121f1e1f, 0, 3, -1,
7    0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
8    0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
9    0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
10 };
11 
ppMem(unsigned int * _mem,int _len)12 void ppMem(unsigned int* _mem, int _len)
13 {
14    int i;
15    printf("MEM:\n");
16    for (i = 0; i < _len; i=i+4)
17    {
18       printf("0x%08x, 0x%08x, 0x%08x, 0x%08x\n",
19             _mem[i], _mem[i+1], _mem[i+2], _mem[i+3]);
20    }
21    _mem[0] = 0x121f1e1f;
22    _mem[1] = 0;
23    _mem[2] = 3;
24    _mem[3] = -1;
25    _mem[4] = 0x232f2e2f;
26    _mem[5] = 0x242c2b2b;
27    _mem[6] = 0x252a2e2b;
28    _mem[7] = 0x262d2d2a;
29    _mem[8] = 0x3f343f3e;
30    _mem[9] = 0x3e353d3c;
31    _mem[10] = 0x363a3c3b;
32    _mem[11] = 0x3b373b3a;
33    _mem[12] = 0x454f4e45;
34    _mem[13] = 0x4e464d46;
35    _mem[14] = 0x474d474c;
36    _mem[15] = 0x4a484a4c;
37 }
38 
39 #define TESTDSPINST_RD_RT_DSPC(instruction, RTval, RD, RT) \
40 {                                                          \
41    int out = 0xdeadbeef;                                   \
42    int dspCtrl = 0x0;                                      \
43    __asm__ volatile(                                       \
44       ".set dsp; \n\t"                                     \
45       "li $" #RD ", 0 \n\t"                                \
46       "move $" #RT ", %2 \n\t"                             \
47       "wrdsp $zero, 0x3f \n\t"                             \
48       instruction " \n\t"                                  \
49       "move %0, $" #RD " \n\t"                             \
50       "rddsp %1, 0x3f \n\t"                                \
51       : "=&r" (out), "=&r" (dspCtrl)                       \
52       : "r" (RTval)                                        \
53       : #RT, #RD                                           \
54    );                                                      \
55    printf("%s :: rd 0x%08x rt 0x%08x DSPControl 0x%x\n",   \
56          instruction, out, RTval, dspCtrl);                \
57 }
58 
59 #define TESTDSPINST_RD_RT_NODSPC(instruction, RTval, RD, RT) \
60 {                                                            \
61    int out = 0xdeadbeef;                                     \
62    __asm__ volatile(                                         \
63       ".set dsp; \n\t"                                       \
64       "li $" #RD ", 0 \n\t"                                  \
65       "move $" #RT ", %1 \n\t"                               \
66       instruction " \n\t"                                    \
67       "move %0, $" #RD " \n\t"                               \
68       : "=&r" (out)                                          \
69       : "r" (RTval)                                          \
70       : #RT, #RD                                             \
71    );                                                        \
72    printf("%s :: rd 0x%08x rt 0x%08x \n",                    \
73          instruction, out, RTval);                           \
74 }
75 
76 #define TESTDSPINST_RD_RS_RT_DSPC(instruction, RSval, RTval, RD, RS, RT) \
77 {                                                                        \
78    int out = 0xdeadbeef;                                                 \
79    int dspCtrl = 0x0;                                                    \
80    __asm__ volatile(                                                     \
81       ".set dsp; \n\t"                                                   \
82       "li $" #RD ", 0 \n\t"                                              \
83       "wrdsp $zero, 0x3f \n\t"                                           \
84       "move $" #RS ", %2 \n\t"                                           \
85       "move $" #RT ", %3 \n\t"                                           \
86       instruction " \n\t"                                                \
87       "move %0, $" #RD " \n\t"                                           \
88       "rddsp %1, 0x3f \n\t"                                              \
89       : "=&r" (out), "=&r" (dspCtrl)                                     \
90       : "r" (RSval), "r"(RTval)                                          \
91       : #RD, #RS, #RT                                                    \
92    );                                                                    \
93    printf("%s :: rs 0x%08x rt 0x%08x out 0x%08x DSPCtrl 0x%08x\n",       \
94         instruction, RSval, RTval, out, dspCtrl);                        \
95 }
96 
97 #define TESTDSPINST_BPOSGE32(instruction, RDval, POSval, RD, POSreg) \
98 {                                                                    \
99    unsigned int out = 0;                                             \
100    __asm__ volatile(                                                 \
101       ".set dsp; \n\t"                                               \
102       "move $" #POSreg ", %1 \n\t"                                   \
103       "wrdsp $" #POSreg ", 0x3f \n\t"                                \
104       "move $" #RD ", %2 \n\t"                                       \
105       instruction" end"instruction#RDval" \n\t"                      \
106       "nop \n\t"                                                     \
107       "addi $" #RD ", $" #RD", 5 \n\t"                               \
108       "end"instruction#RDval": \n\t"                                 \
109       "addi $" #RD ", $" #RD", 1 \n\t"                               \
110       "move %0, $" #RD " \n\t"                                       \
111       : "=&r" (out)                                                  \
112       : "r" (POSval), "r" (RDval)                                    \
113       : #RD, #POSreg                                                 \
114       );                                                             \
115       printf(instruction" :: %d, POSval: %d\n",                      \
116         out, POSval);                                                \
117 }
118 
119 #define TESTDSPINST_RS_RT_DSPC(instruction, RSval, RTval, RS, RT) \
120 {                                                                 \
121    int dspCtrl = 0x0;                                             \
122    __asm__ volatile(                                              \
123       ".set dsp; \n\t"                                            \
124       "wrdsp $zero, 0x3f \n\t"                                    \
125       "move $" #RS ", %1 \n\t"                                    \
126       "move $" #RT ", %2 \n\t"                                    \
127       instruction " \n\t"                                         \
128       "rddsp %0, 0x3f \n\t"                                       \
129       : "=&r" (dspCtrl)                                           \
130       : "r" (RSval), "r"(RTval)                                   \
131       : #RS, #RT                                                  \
132    );                                                             \
133    printf("%s :: rs 0x%08x rt 0x%08x DSPCtrl 0x%08x \n",          \
134         instruction, RSval, RTval, dspCtrl);                      \
135 }
136 
137 #define TESTDSPINST_RD_RS_RT_NODSPC(instruction, RSval, RTval, RD, RS, RT) \
138 {                                                                          \
139    int out = 0xdeadbeef;                                                   \
140    __asm__ volatile(                                                       \
141       ".set dsp; \n\t"                                                     \
142       "li $" #RD ", 0 \n\t"                                                \
143       "move $" #RS ", %1 \n\t"                                             \
144       "move $" #RT ", %2 \n\t"                                             \
145       instruction " \n\t"                                                  \
146       "move %0, $" #RD " \n\t"                                             \
147       : "=&r" (out)                                                        \
148       : "r" (RSval), "r"(RTval)                                            \
149       : #RD, #RS, #RT                                                      \
150    );                                                                      \
151    printf("%s :: rs 0x%08x rt 0x%08x out 0x%08x\n",                        \
152         instruction, RSval, RTval, out);                                   \
153 }
154 
155 #define TESTDSPINST_AC_RS_RT_DSPC(instruction, ac, RSval, RTval, HIval, LOval, \
156                                   RS, RT)                                      \
157 {                                                                              \
158    int out_hi = 0xdeadbeef;                                                    \
159    int out_lo = 0xdeadbeef;                                                    \
160    int dspCtrl = 0x0;                                                          \
161    __asm__ volatile(                                                           \
162       ".set dsp; \n\t"                                                         \
163       "move $" #RS ", %5 \n\t"                                                 \
164       "move $" #RT ", %6 \n\t"                                                 \
165       "mthi $" #RS", $" ac " \n\t"                                             \
166       "mtlo $" #RT", $" ac " \n\t"                                             \
167       "move $" #RS ", %3 \n\t"                                                 \
168       "move $" #RT ", %4 \n\t"                                                 \
169       "wrdsp $zero, 0x3f \n\t"                                                 \
170       instruction "  \n\t"                                                     \
171       "rddsp %2, 0x3f \n\t"                                                    \
172       "mfhi %0, $" ac " \n\t"                                                  \
173       "mflo %1, $" ac " \n\t"                                                  \
174       : "=&r" (out_hi), "=&r" (out_lo), "=&r" (dspCtrl)                        \
175       : "r" (RSval), "r"(RTval), "r" (HIval), "r"(LOval)                       \
176       : #RS, #RT                                                               \
177    );                                                                          \
178    printf("%s :: rs 0x%08x rt 0x%08x inHI 0x%08x inLO 0x%08x outHI 0x%08x outLO\
179           0x%08x dspCtrl 0x%08x\n",instruction, RSval, RTval, HIval, LOval,    \
180           out_hi, out_lo, dspCtrl);                                            \
181 }
182 
183 #define TESTDSPINST_AC_RS_RT_NODSPC(instruction, ac, RSval, RTval, HIval,      \
184                                     LOval, RS, RT)                             \
185 {                                                                              \
186    int out_hi = 0xdeadbeef;                                                    \
187    int out_lo = 0xdeadbeef;                                                    \
188    __asm__ volatile(                                                           \
189       ".set dsp; \n\t"                                                         \
190       "move $" #RS ", %4 \n\t"                                                 \
191       "move $" #RT ", %5 \n\t"                                                 \
192       "mthi $" #RS", $" ac " \n\t"                                             \
193       "mtlo $" #RT", $" ac " \n\t"                                             \
194       "move $" #RS ", %2 \n\t"                                                 \
195       "move $" #RT ", %3 \n\t"                                                 \
196       instruction " \n\t"                                                      \
197       "mfhi %0, $" ac " \n\t"                                                  \
198       "mflo %1, $" ac " \n\t"                                                  \
199       : "=&r" (out_hi), "=&r" (out_lo)                                         \
200       : "r" (RSval), "r"(RTval), "r" (HIval), "r"(LOval)                       \
201       : #RS, #RT                                                               \
202    );                                                                          \
203    printf("%s :: rs 0x%08x rt 0x%08x inHI 0x%08x inLO 0x%08x outHI 0x%08x outLO\
204           0x%08x \n",instruction, RSval, RTval, HIval, LOval, out_hi, out_lo); \
205 }
206 
207 #define TESTDSPINST_EXT(instruction, ac, RT, HIval, LOval, size, pos) \
208 {                                                                     \
209    int out = 0xdeadbeef;                                              \
210    int dspCtrl = 0x0;                                                 \
211    __asm__ volatile(                                                  \
212       ".set dsp; \n\t"                                                \
213       "move $" #RT ", %2 \n\t"                                        \
214       "wrdsp $" #RT ", 0x3f \n\t"                                     \
215       "move $" #RT ", %3 \n\t"                                        \
216       "mthi $" #RT", $" ac " \n\t"                                    \
217       "move $" #RT ", %4 \n\t"                                        \
218       "mtlo $" #RT", $" ac " \n\t"                                    \
219       instruction " \n\t"                                             \
220       "rddsp %1, 0x3f \n\t"                                           \
221       "move %0, $" #RT " \n\t"                                        \
222       : "=&r" (out), "=&r" (dspCtrl)                                  \
223       : "r" (pos), "r" (HIval), "r" (LOval)                           \
224       : #RT                                                           \
225    );                                                                 \
226    printf("%s :: rt 0x%08x %s 0x%08x%08x size %2d DSPCtrl 0x%08x\n",  \
227        instruction, out, ac, HIval, LOval, size, dspCtrl);            \
228 }
229 
230 #define TESTDSPINST_EXTV(instruction, ac, RT, HIval, LOval, RS, RSval, pos) \
231 {                                                                           \
232    int out = 0xdeadbeef;                                                    \
233    int dspCtrl = 0x0;                                                       \
234    __asm__ volatile(                                                        \
235       ".set dsp; \n\t"                                                      \
236       "move $" #RS ", %5 \n\t"                                              \
237       "move $" #RT ", %2 \n\t"                                              \
238       "wrdsp $" #RT ", 0x3f \n\t"                                           \
239       "move $" #RT ", %3 \n\t"                                              \
240       "mthi $" #RT", $" ac " \n\t"                                          \
241       "move $" #RT ", %4 \n\t"                                              \
242       "mtlo $" #RT", $" ac " \n\t"                                          \
243       instruction " \n\t"                                                   \
244       "rddsp %1, 0x3f \n\t"                                                 \
245       "move %0, $" #RT " \n\t"                                              \
246       : "=&r" (out), "=&r" (dspCtrl)                                        \
247       : "r" (pos), "r" (HIval), "r" (LOval), "r" (RSval)                    \
248       : #RT, #RS                                                            \
249    );                                                                       \
250    printf("%s :: rt 0x%08x %s 0x%08x%08x rs 0x%08x DSPCtrl 0x%08x\n",       \
251           instruction, out, ac, HIval, LOval, RSval, dspCtrl);              \
252 }
253 
254 #define TESTDSPINST_INSV(instruction, RTval, RSval, RT, RS, _pos, _size)       \
255 {                                                                              \
256    unsigned int out;                                                           \
257    __asm__ volatile(                                                           \
258       ".set dsp; \n\t"                                                         \
259       "move $" #RS ", %3 \n\t"                                                 \
260       "wrdsp $" #RS ", 0x1 \n\t"                                               \
261       "move $" #RS ", %4 \n\t"                                                 \
262       "wrdsp $" #RS ", 0x2 \n\t"                                               \
263       "move $" #RS", %1 \n\t"                                                  \
264       "move $" #RT", %2 \n\t"                                                  \
265       "insv $" #RT ", $" #RS " \n\t"                                           \
266       "move %0, $" #RT " \n\t"                                                 \
267      : "=&r" (out)                                                             \
268      : "r" (RSval), "r" (RTval), "r" (_pos), "r" (_size)                       \
269      : #RS, #RT                                                                \
270    );                                                                          \
271    printf("insv :: out: 0x%08x rtIN 0x%08x rsIN 0x%08x posI %2d sizeI %2d \n", \
272          out, RTval, RSval, _pos, _size>>7); \
273 }
274 
275 #define TESTDSPINST_LWX(index, RT, RS)                 \
276 {                                                      \
277     unsigned int out;                                  \
278    __asm__ volatile(                                   \
279       ".set dsp; \n\t"                                 \
280      "move $" #RS", %1 \n\t"                           \
281      "move $" #RT", %2 \n\t"                           \
282      "lwx %0, $" #RT "($"#RS") \n\t"                   \
283     : "=&r" (out)                                      \
284     : "r" (mem), "r" (index)                           \
285     : #RT, #RS, "memory"                               \
286     );                                                 \
287    printf("lwx :: out: 0x%08x mem[%d]\n", out, index); \
288 }
289 
290 #define TESTDSPINST_LHX(index, RT, RS)                 \
291 {                                                      \
292     unsigned int out;                                  \
293    __asm__ volatile(                                   \
294       ".set dsp; \n\t"                                 \
295      "move $" #RS", %1 \n\t"                           \
296      "move $" #RT", %2 \n\t"                           \
297      "lhx %0, $" #RT "($"#RS") \n\t"                   \
298     : "=&r" (out)                                      \
299     : "r" (mem), "r" (index)                           \
300     : #RT, #RS, "memory"                               \
301     );                                                 \
302    printf("lhx :: out: 0x%08x mem[%d]\n", out, index); \
303 }
304 
305 #define TESTDSPINST_LBUX(index, RT, RS)                 \
306 {                                                       \
307     unsigned int out;                                   \
308    __asm__ volatile(                                    \
309       ".set dsp; \n\t"                                  \
310      "move $" #RS", %1 \n\t"                            \
311      "move $" #RT", %2 \n\t"                            \
312      "lbux %0, $" #RT "($"#RS") \n\t"                   \
313     : "=&r" (out)                                       \
314     : "r" (mem), "r" (index)                            \
315     : #RT, #RS, "memory"                                \
316     );                                                  \
317    printf("lbux :: out: 0x%08x mem[%d]\n", out, index); \
318 }
319 
320 #define TESTDSPINST_HILO(ac, RSval_hi, RSval_lo)                             \
321 {                                                                            \
322    unsigned int HI = 0xdeadbeef;                                             \
323    unsigned int LO = 0xdeadbeef;                                             \
324    __asm__ volatile(                                                         \
325       ".set dsp; \n\t"                                                       \
326       "move $t0, %2 \n\t"                                                    \
327       "move $t1, %3 \n\t"                                                    \
328       "mthi $t0, $" ac " \n\t"                                               \
329       "mtlo $t1, $" ac " \n\t"                                               \
330       "mfhi %0, $" ac " \n\t"                                                \
331       "mflo %1, $" ac " \n\t"                                                \
332      : "=&r" (HI), "=&r" (LO)                                                \
333      : "r" (RSval_hi), "r" (RSval_lo)                                        \
334      : "t0", "t1"                                                            \
335    );                                                                        \
336    printf("rs_hi: 0x%08x rs_lo: 0x%08x %s out HI: 0x%08x, out LO: 0x%08x\n", \
337           RSval_hi, RSval_lo, ac, HI, LO);                                   \
338 }
339 
340 #define TESTDSPINST_MTHLIP(instruction, ac, HIval, LOval, RSval, RS, pos)      \
341 {                                                                              \
342    unsigned int outHI;                                                         \
343    unsigned int outLO;                                                         \
344    unsigned int dspCtrl;                                                       \
345    __asm__ volatile(                                                           \
346       ".set dsp; \n\t"                                                         \
347       "move $" #RS ", %3\n\t"                                                  \
348       "mthi $" #RS", $" ac "\n\t"                                              \
349       "move $" #RS ", %4\n\t"                                                  \
350       "mtlo $" #RS", $" ac "\n\t"                                              \
351       "move $" #RS ", %5\n\t"                                                  \
352       "wrdsp $" #RS ", 0x1 \n\t"                                               \
353       "move $" #RS ", %6\n\t"                                                  \
354       instruction "\n\t"                                                       \
355       "mfhi %0, $" ac "\n\t"                                                   \
356       "mflo %1, $" ac "\n\t"                                                   \
357       "rddsp %2, 0x1 \n\t"                                                     \
358      : "=&r" (outHI), "=&r" (outLO), "=&r" (dspCtrl)                           \
359      : "r" (HIval), "r" (LOval), "r" (pos), "r" (RSval)                        \
360      : #RS                                                                     \
361    );                                                                          \
362    printf("mthlip :: acIn: 0x%08x%08x rsIn 0x%08x posIn 0x%08x acOut 0x%08x%08x\
363           posOut 0x%08x\n", HIval, LOval, RSval, pos, outHI, outLO, dspCtrl);  \
364 }
365 
366 #define TESTDSPINST_PICK(instruction, instruction1, RSval, RTval, RD, RS, RT) \
367 {                                                                             \
368    int out = 0xdeadbeef;                                                      \
369    int dspCtrl1 = 0x0;                                                        \
370    __asm__ volatile(                                                          \
371       ".set dsp; \n\t"                                                        \
372       "li $" #RD ", 0 \n\t"                                                   \
373       "wrdsp $zero, 0x1f \n\t"                                                \
374       "move $" #RS ", %2 \n\t"                                                \
375       "move $" #RT ", %3 \n\t"                                                \
376       instruction1 " \n\t"                                                    \
377       "rddsp %1, 0x1f \n\t"                                                   \
378       instruction " \n\t"                                                     \
379       "move %0, $" #RD " \n\t"                                                \
380       : "=&r" (out), "=&r" (dspCtrl1)                                         \
381       : "r" (RSval), "r"(RTval)                                               \
382       : #RD, #RS, #RT                                                         \
383    );                                                                         \
384    printf("%s :: %s rs 0x%08x rt 0x%08x out 0x%08x DSPCtrl1 0x%x\n",          \
385           instruction, instruction1, RSval, RTval, out, dspCtrl1);            \
386 }
387 
388 #define TESTDSPINST_RADDU_W_QB(instruction, RSval, RD, RS)                    \
389 {                                                                             \
390    int out = 0xdeadbeef;                                                      \
391    __asm__ volatile(                                                          \
392       ".set dsp; \n\t"                                                        \
393       "move $" #RS ", %1 \n\t"                                                \
394       instruction " \n\t"                                                     \
395       "move %0, $" #RD " \n\t"                                                \
396       : "=&r" (out)                                                           \
397       : "r" (RSval)                                                           \
398       : #RD, #RS                                                              \
399    );                                                                         \
400    printf("%s :: out 0x%08x rs 0x%08x\n",                                     \
401         instruction, out, RSval);                                             \
402 }
403 
404 #define TESTDSPINST_RDDSPWRDSP(REGval, mask)                               \
405 {                                                                          \
406    int out = 0xdeadbeef;                                                   \
407    __asm__ volatile(                                                       \
408       ".set dsp; \n\t"                                                     \
409       "move $t0, %1 \n\t"                                                  \
410       "wrdsp $t0, " #mask " \n\t"                                          \
411       "rddsp %0, " #mask " \n\t"                                           \
412       : "=&r" (out)                                                        \
413       : "r" (REGval)                                                       \
414       : "t0"                                                               \
415    );                                                                      \
416    printf("outVal 0x%08x inVal 0x%08x mask 0x%08x \n", out, REGval, mask); \
417 }
418 
419 #define TESTDSPINST_RD_IMM_NODSPC(instruction, Imm, RD)           \
420 {                                                                 \
421    int out = 0xdeadbeef;                                          \
422    __asm__ volatile(                                              \
423       ".set dsp; \n\t"                                            \
424       "li $" #RD ", 0 \n\t"                                       \
425       instruction " \n\t"                                         \
426       "move %0, $" #RD " \n\t"                                    \
427       : "=&r" (out)                                               \
428       :                                                           \
429       : #RD                                                       \
430    );                                                             \
431    printf("%s :: rd 0x%08x imm 0x%08x\n", instruction, out, Imm); \
432 }
433 
434 #define TESTDSPINST_SHILO(ac, HIval, LOval, shift)                             \
435 {                                                                              \
436    int outHI = 0xdeadbeef;                                                     \
437    int outLO = 0xdeadbeef;                                                     \
438    __asm__ volatile(                                                           \
439       ".set dsp; \n\t"                                                         \
440       "move $t0, %2 \n\t"                                                      \
441       "move $t1, %3 \n\t"                                                      \
442       "mthi $t0, $" ac " \n\t"                                                 \
443       "mtlo $t1, $" ac " \n\t"                                                 \
444       "shilo $" ac ", " #shift " \n\t"                                         \
445       "mfhi %0, $" ac " \n\t"                                                  \
446       "mflo %1, $" ac " \n\t"                                                  \
447       : "=&r" (outHI), "=&r" (outLO)                                           \
448       : "r" (HIval), "r" (LOval)                                               \
449       : "t0", "t1"                                                             \
450    );                                                                          \
451    printf("shilo %s, %3d inAcc = 0x%08x%08x outAcc = 0x%08x%08x\n", ac, shift, \
452           HIval, LOval, outHI, outLO);                                         \
453 }
454 
455 #define TESTDSP_SHILOV(ac, HIval, LOval, RSval, RS)                            \
456 {                                                                              \
457    int outHI = 0xdeadbeef;                                                     \
458    int outLO = 0xdeadbeef;                                                     \
459    __asm__ volatile(                                                           \
460       ".set dsp; \n\t"                                                         \
461       "move $" #RS ", %2 \n\t"                                                 \
462       "mthi $" #RS ", $" ac " \n\t"                                            \
463       "move $" #RS ", %3 \n\t"                                                 \
464       "mtlo $" #RS ", $" ac " \n\t"                                            \
465       "move $" #RS ", %4 \n\t"                                                 \
466       "shilov $" ac ", $" #RS " \n\t"                                          \
467       "mfhi %0, $" ac " \n\t"                                                  \
468       "mflo %1, $" ac " \n\t"                                                  \
469       : "=&r" (outHI), "=&r" (outLO)                                           \
470       : "r" (HIval), "r" (LOval), "r" (RSval)                                  \
471       : #RS                                                                    \
472    );                                                                          \
473    printf("shilov %s, rs 0x%08x inAcc = 0x%08x%08x outAcc = 0x%08x%08x\n", ac, \
474           RSval, HIval, LOval, outHI, outLO);                                  \
475 }
476 
477 #define TESTDSPINST_RD_RT_SA_DSPC(instruction, RTval, SAval, RD, RT)        \
478 {                                                                           \
479    int out = 0xdeadbeef;                                                    \
480    int dspCtrl = 0x0;                                                       \
481    __asm__ volatile(                                                        \
482       ".set dsp; \n\t"                                                      \
483       "li $" #RD ", 0 \n\t"                                                 \
484       "wrdsp $zero, 0x3f \n\t"                                              \
485       "move $" #RT ", %2 \n\t"                                              \
486       instruction " \n\t"                                                   \
487       "rddsp %1, 0x3f \n\t"                                                 \
488       "move %0, $" #RD " \n\t"                                              \
489       : "=&r" (out), "=&r" (dspCtrl)                                        \
490       : "r"(RTval)                                                          \
491       : #RD, #RT                                                            \
492    );                                                                       \
493    printf("%s :: rd 0x%08x rt 0x%08x sa %2d DSPCtrl 0x%08x\n", instruction, \
494           out, RTval, SAval, dspCtrl);                                      \
495 }
496 
497 #define TESTDSPINST_RD_RT_SA_NODSPC(instruction, RTval, SAval, RD, RT)   \
498 {                                                                        \
499    int out = 0xdeadbeef;                                                 \
500    __asm__ volatile(                                                     \
501       ".set dsp; \n\t"                                                   \
502       "li $" #RD ", 0 \n\t"                                              \
503       "move $" #RT ", %1 \n\t"                                           \
504       instruction " \n\t"                                                \
505       "move %0, $" #RD " \n\t"                                           \
506       : "=&r" (out)                                                      \
507       : "r"(RTval)                                                       \
508       : #RD, #RT                                                         \
509    );                                                                    \
510    printf("%s :: rd 0x%08x rt 0x%08x sa %2d\n", instruction, out, RTval, \
511           SAval);                                                        \
512 }
513 
514 #define TESTDSPINST_RD_RT_RS_DSPC(instruction, RTval, RSval, RD, RT, RS)       \
515 {                                                                              \
516    int out = 0xdeadbeef;                                                       \
517    int dspCtrl = 0x0;                                                          \
518    __asm__ volatile(                                                           \
519       ".set dsp; \n\t"                                                         \
520       "li $" #RD ", 0 \n\t"                                                    \
521       "wrdsp $zero, 0x3f \n\t"                                                 \
522       "move $" #RT ", %2 \n\t"                                                 \
523       "move $" #RS ", %3 \n\t"                                                 \
524       instruction " \n\t"                                                      \
525       "rddsp %1, 0x3f \n\t"                                                    \
526       "move %0, $" #RD " \n\t"                                                 \
527       : "=&r" (out), "=&r" (dspCtrl)                                           \
528       : "r"(RTval), "r"(RSval)                                                 \
529       : #RD, #RT, #RS                                                          \
530    );                                                                          \
531    printf("%s :: rd 0x%08x rt 0x%08x rs 0x%08x DSPCtrl 0x%08x\n", instruction, \
532           out, RTval, RSval, dspCtrl);                                         \
533 }
534 
535 #define TESTDSPINST_RD_RT_RS_NODSPC(instruction, RTval, RSval, RD, RT, RS)  \
536 {                                                                           \
537    int out = 0xdeadbeef;                                                    \
538    __asm__ volatile(                                                        \
539       ".set dsp; \n\t"                                                      \
540       "li $" #RD ", 0 \n\t"                                                 \
541       "move $" #RT ", %1 \n\t"                                              \
542       "move $" #RS ", %2 \n\t"                                              \
543       instruction " \n\t"                                                   \
544       "move %0, $" #RD " \n\t"                                              \
545       : "=&r" (out)                                                         \
546       : "r"(RTval), "r"(RSval)                                              \
547       : #RD, #RT, #RS                                                       \
548    );                                                                       \
549    printf("%s :: rd 0x%08x rt 0x%08x rs 0x%08x\n", instruction, out, RTval, \
550           RSval);                                                           \
551 }
552 
main(int argc,char ** argv)553 int main(int argc, char **argv)
554 {
555 #if (__mips==32) && (__mips_isa_rev>=2)
556    printf("-------- ABSQ_S.PH --------\n");
557    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1", 0x00000000, t0, t1);
558    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3", 0x00000286, t2, t3);
559    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1", 0xfabc2435, t4, t1);
560    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7", 0x73468000, t6, t7);
561    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t5, $t3", 0x80000000, t5, t3);
562    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t4", 0xffffffff, t2, t4);
563    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t8", 0xfff45fff, t0, t8);
564    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t4", 0x00000555, t4, t4);
565    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1", 0x23534870, t0, t1);
566    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3", 0x0555adec, t2, t3);
567    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1", 0x980b7cde, t4, t1);
568    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7", 0xf973437b, t6, t7);
569    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t5, $t3", 0x23c54b6e, t5, t3);
570    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t4", 0x55555555, t2, t4);
571    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t8", 0xc4dbfe20, t0, t8);
572    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t4", 0x734680bc, t4, t4);
573    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1", 0x00354565, t0, t1);
574    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3", 0xbacabaca, t2, t3);
575    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1", 0xdba38ec9, t4, t1);
576    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7", 0x0b300286, t6, t7);
577    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t5, $t3", 0xabababab, t5, t3);
578    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t4", 0x00086755, t2, t4);
579    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t8", 0x8f8f8f80, t0, t8);
580    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t4", 0xeeeeeeee, t4, t4);
581    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1", 0x1bdbdbdb, t0, t1);
582    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3", 0xdecadeca, t2, t3);
583    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1", 0x93474bde, t4, t1);
584    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7", 0xfabfabfa, t6, t7);
585    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t5, $t3", 0x083b3571, t5, t3);
586    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t4", 0xb9743941, t2, t4);
587    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t8", 0xbc80f924, t0, t8);
588    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t4", 0xcc3c201c, t4, t4);
589    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1", 0x1ebaf88e, t0, t1);
590    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3", 0x722d5e20, t2, t3);
591    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1", 0xa1d6f791, t4, t1);
592    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7", 0x7b11bee7, t6, t7);
593    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t5, $t3", 0xa5631488, t5, t3);
594    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t4", 0xb10bcc65, t2, t4);
595    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t8", 0x73f39fca, t0, t8);
596    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t4", 0x80008000, t4, t4);
597    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t0, $t1",     -23456, t0, t1);
598    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t2, $t3",  123498746, t2, t3);
599    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t4, $t1",        -13, t4, t1);
600    TESTDSPINST_RD_RT_DSPC("absq_s.ph $t6, $t7",       -237, t6, t7);
601 
602    printf("-------- ABSQ_S.W --------\n");
603    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1", 0x00000000, t0, t1);
604    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3", 0x00000286, t2, t3);
605    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1", 0xfabc2435, t4, t1);
606    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7", 0x73468000, t6, t7);
607    TESTDSPINST_RD_RT_DSPC("absq_s.w $t5, $t3", 0x80000000, t5, t3);
608    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t4", 0xffffffff, t2, t4);
609    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t8", 0xfff45fff, t0, t8);
610    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t4", 0x00000555, t4, t4);
611    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1", 0x23534870, t0, t1);
612    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3", 0x0555adec, t2, t3);
613    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1", 0x980b7cde, t4, t1);
614    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7", 0xf973437b, t6, t7);
615    TESTDSPINST_RD_RT_DSPC("absq_s.w $t5, $t3", 0x23c54b6e, t5, t3);
616    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t4", 0x55555555, t2, t4);
617    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t8", 0xc4dbfe20, t0, t8);
618    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t4", 0x734680bc, t4, t4);
619    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1", 0x00354565, t0, t1);
620    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3", 0xbacabaca, t2, t3);
621    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1", 0xdba38ec9, t4, t1);
622    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7", 0x0b300286, t6, t7);
623    TESTDSPINST_RD_RT_DSPC("absq_s.w $t5, $t3", 0xabababab, t5, t3);
624    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t4", 0x00086755, t2, t4);
625    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t8", 0x8f8f8f80, t0, t8);
626    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t4", 0xeeeeeeee, t4, t4);
627    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1", 0x1bdbdbdb, t0, t1);
628    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3", 0xdecadeca, t2, t3);
629    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1", 0x93474bde, t4, t1);
630    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7", 0xfabfabfa, t6, t7);
631    TESTDSPINST_RD_RT_DSPC("absq_s.w $t5, $t3", 0x083b3571, t5, t3);
632    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t4", 0xb9743941, t2, t4);
633    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t8", 0xbc80f924, t0, t8);
634    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t4", 0xcc3c201c, t4, t4);
635    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1", 0x1ebaf88e, t0, t1);
636    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3", 0x722d5e20, t2, t3);
637    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1", 0xa1d6f791, t4, t1);
638    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7", 0x7b11bee7, t6, t7);
639    TESTDSPINST_RD_RT_DSPC("absq_s.w $t5, $t3", 0xa5631488, t5, t3);
640    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t4", 0xb10bcc65, t2, t4);
641    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t8", 0x73f39fca, t0, t8);
642    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t4", 0x80000000, t4, t4);
643    TESTDSPINST_RD_RT_DSPC("absq_s.w $t0, $t1",     -23456, t0, t1);
644    TESTDSPINST_RD_RT_DSPC("absq_s.w $t2, $t3",  123498746, t2, t3);
645    TESTDSPINST_RD_RT_DSPC("absq_s.w $t4, $t1",        -13, t4, t1);
646    TESTDSPINST_RD_RT_DSPC("absq_s.w $t6, $t7",       -237, t6, t7);
647 
648    printf("-------- ADDQ.PH --------\n");
649    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
650                              t0, t1, t2);
651    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
652                              t2, t3, t4);
653    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
654                              t4, t1, t5);
655    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
656                              t6, t7, t3);
657    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
658                              t5, t3, t2);
659    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
660                              t2, t4, t8);
661    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
662                              t0, t8, t0);
663    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t6, $t1", 0x0034c420, 0x00000555,
664                              t4, t6, t1);
665    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t3, $t4", 0x00000004, 1073741824,
666                              t2, t3, t4);
667    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
668                              t4, t1, t5);
669    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
670                              t6, t7, t3);
671    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t5, $t3, $t2", 0x80000000, 0x80620020,
672                              t5, t3, t2);
673    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
674                              t2, t4, t8);
675    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
676                              t0, t8, t0);
677    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
678                              t4, t6, t1);
679    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
680                              t0, t1, t2);
681    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
682                              t2, t3, t4);
683    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
684                              t4, t1, t5);
685    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
686                              t6, t7, t3);
687    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
688                              t5, t3, t2);
689    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
690                              t2, t4, t8);
691    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
692                              t0, t8, t0);
693    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
694                              t4, t6, t1);
695    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
696                              t0, t1, t2);
697    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
698                              t2, t3, t4);
699    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
700                              t4, t1, t5);
701    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
702                              t6, t7, t3);
703    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
704                              t5, t3, t2);
705    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
706                              t2, t4, t8);
707    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
708                              t0, t8, t0);
709    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
710                              t4, t6, t1);
711    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
712                              t0, t1, t2);
713    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
714                              t2, t3, t4);
715    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
716                              t4, t1, t5);
717    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
718                              t6, t7, t3);
719    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
720                              t5, t3, t2);
721    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
722                              t2, t4, t8);
723    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
724                              t0, t8, t0);
725    TESTDSPINST_RD_RS_RT_DSPC("addq.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
726                              t4, t6, t1);
727 
728    printf("-------- ADDQ_S.PH --------\n");
729    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
730                              t0, t1, t2);
731    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
732                              t2, t3, t4);
733    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
734                              t4, t1, t5);
735    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
736                              t6, t7, t3);
737    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
738                              t5, t3, t2);
739    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t1, $t2", 0x00010001, 0xfa3259ff,
740                              t0, t1, t2);
741    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0x7fff7322, 0x77ff7fff,
742                              t2, t3, t4);
743    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0x0034c420, 0x00000555,
744                              t4, t1, t5);
745    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0x00000004, 1073741824,
746                              t6, t7, t3);
747    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0x80002435, 0x80003421,
748                              t5, t3, t2);
749    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t4, $t8", 0x76548000, 0x73468000,
750                              t2, t4, t8);
751    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t8, $t0", 0x80000000, 0x80620020,
752                              t0, t8, t0);
753    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t6, $t1", 0x00010001, 0xffffffff,
754                              t4, t6, t1);
755    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0x7fff7fff, 0x7fff7fff,
756                              t2, t3, t4);
757    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0x0000c420, 0x00000555,
758                              t4, t1, t5);
759    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0x000a2300, 0x83bc1900,
760                              t6, t7, t3);
761    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
762                              t5, t3, t2);
763    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t4, $t8", 0xaaaaaaaa, 0x55555555,
764                              t2, t4, t8);
765    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t8, $t0", 0x00000018, 0xffff2435,
766                              t0, t8, t0);
767    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t6, $t1", 0xbabababa, 0xabababab,
768                              t4, t6, t1);
769    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t1, $t2", 0xf0f0f0f0, 0xfc79b4d2,
770                              t0, t1, t2);
771    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0xfbde3976, 0x00000000,
772                              t2, t3, t4);
773    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0x23534870, 0x00354565,
774                              t4, t1, t5);
775    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0x980b7cde, 0x00086755,
776                              t6, t7, t3);
777    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0x00000018, 0x8f8f8f8f,
778                              t5, t3, t2);
779    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t4, $t8", 0x92784656, 0xeeeeeeee,
780                              t2, t4, t8);
781    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t8, $t0", 0xcacacaca, 0x1bdbdbdb,
782                              t0, t8, t0);
783    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t6, $t1", 0xbacabaca, 0xdecadeca,
784                              t4, t6, t1);
785    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t1, $t2", 0x12fadeb4, 0x93474bde,
786                              t0, t1, t2);
787    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0x7c000790, 0xfc0007ff,
788                              t2, t3, t4);
789    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0xffffffff, 0xffffffff,
790                              t4, t1, t5);
791    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0xf2f4df1f, 0xcb4ab48f,
792                              t6, t7, t3);
793    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0x435f909a, 0xaf8f7e18,
794                              t5, t3, t2);
795    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t4, $t8", 0x2106ba5f, 0x87df4510,
796                              t2, t4, t8);
797    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t8, $t0", 0x246a6376, 0xabf4e8e1,
798                              t0, t8, t0);
799    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t6, $t1", 0x1046a1a3, 0xf4c0eeac,
800                              t4, t6, t1);
801    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t1, $t2", 0x638ca515, 0x006a54f2,
802                              t0, t1, t2);
803    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t3, $t4", 0xf63e7a9d, 0x79f74493,
804                              t2, t3, t4);
805    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t1, $t5", 0xbd6845cd, 0x9c09e313,
806                              t4, t1, t5);
807    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t6, $t7, $t3", 0x234ba291, 0xbb64981c,
808                              t6, t7, t3);
809    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t5, $t3, $t2", 0x120934de, 0xad2c7601,
810                              t5, t3, t2);
811    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t2, $t4, $t8", 0xf5643908, 0xbaff3492,
812                              t2, t4, t8);
813    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t0, $t8, $t0", 0x88503331, 0xd60e34a2,
814                              t0, t8, t0);
815    TESTDSPINST_RD_RS_RT_DSPC("addq_s.ph $t4, $t6, $t1", 0x7b5309ac, 0xc5487201,
816                              t4, t6, t1);
817 
818    printf("-------- ADDQ_S.W --------\n");
819    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t1, $t2", 0x00000000, 0x00000000,
820                              t0, t1, t2);
821    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t3, $t4", 0x00045fb2, 0x00000286,
822                              t2, t3, t4);
823    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t1, $t5", 0x00002435, 0xffff3421,
824                              t4, t1, t5);
825    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
826                              t6, t7, t3);
827    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
828                              t5, t3, t2);
829    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
830                              t2, t4, t8);
831    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
832                              t0, t8, t0);
833    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t6, $t1", 0x0034c420, 0x00000555,
834                              t4, t6, t1);
835    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t3, $t4", 0x00000004, 1073741824,
836                              t2, t3, t4);
837    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t1, $t5", 0x80002435, 0x80003421,
838                              t4, t1, t5);
839    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t6, $t7, $t3", 0x76548000, 0x73468000,
840                              t6, t7, t3);
841    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t5, $t3, $t2", 0x80000000, 0x80620020,
842                              t5, t3, t2);
843    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
844                              t2, t4, t8);
845    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
846                              t0, t8, t0);
847    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
848                              t4, t6, t1);
849    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
850                              t0, t1, t2);
851    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t3, $t4", 0x80000000, 0x80000000,
852                              t2, t3, t4);
853    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
854                              t4, t1, t5);
855    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
856                              t6, t7, t3);
857    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
858                              t5, t3, t2);
859    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
860                              t2, t4, t8);
861    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
862                              t0, t8, t0);
863    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t6, $t1", 0x23534870, 0x00354565,
864                              t4, t6, t1);
865    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
866                              t0, t1, t2);
867    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
868                              t2, t3, t4);
869    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
870                              t4, t1, t5);
871    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
872                              t6, t7, t3);
873    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
874                              t5, t3, t2);
875    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
876                              t2, t4, t8);
877    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
878                              t0, t8, t0);
879    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
880                              t4, t6, t1);
881    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
882                              t0, t1, t2);
883    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
884                              t2, t3, t4);
885    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
886                              t4, t1, t5);
887    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
888                              t6, t7, t3);
889    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
890                              t5, t3, t2);
891    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
892                              t2, t4, t8);
893    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
894                              t0, t8, t0);
895    TESTDSPINST_RD_RS_RT_DSPC("addq_s.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
896                              t4, t6, t1);
897 
898    printf("-------- ADDSC --------\n");
899    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t1, $t2", 0x00000000, 0x00000000,
900                              t0, t1, t2);
901    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t3, $t4", 0x00045fb2, 0x00000286,
902                              t2, t3, t4);
903    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t1, $t5", 0x00002435, 0xffff3421,
904                              t4, t1, t5);
905    TESTDSPINST_RD_RS_RT_DSPC("addsc $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
906                              t6, t7, t3);
907    TESTDSPINST_RD_RS_RT_DSPC("addsc $t5, $t3, $t2", 0xf973437b, 0x80000000,
908                              t5, t3, t2);
909    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
910                              t2, t4, t8);
911    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
912                              t0, t8, t0);
913    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t6, $t1", 0x0034c420, 0x00000555,
914                              t4, t6, t1);
915    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t3, $t4", 0x00000004, 1073741824,
916                              t2, t3, t4);
917    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t1, $t5", 0x80002435, 0x80003421,
918                              t4, t1, t5);
919    TESTDSPINST_RD_RS_RT_DSPC("addsc $t6, $t7, $t3", 0x76548000, 0x73468000,
920                              t6, t7, t3);
921    TESTDSPINST_RD_RS_RT_DSPC("addsc $t5, $t3, $t2", 0x80000000, 0x80620020,
922                              t5, t3, t2);
923    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t4, $t8", 0x00010001, 0xffffffff,
924                              t2, t4, t8);
925    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
926                              t0, t8, t0);
927    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t6, $t1", 0x0000c420, 0x00000555,
928                              t4, t6, t1);
929    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
930                              t0, t1, t2);
931    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t3, $t4", 0x80000000, 0x80000000,
932                              t2, t3, t4);
933    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
934                              t4, t1, t5);
935    TESTDSPINST_RD_RS_RT_DSPC("addsc $t6, $t7, $t3", 0x00000018, 0xffff2435,
936                              t6, t7, t3);
937    TESTDSPINST_RD_RS_RT_DSPC("addsc $t5, $t3, $t2", 0xbabababa, 0xabababab,
938                              t5, t3, t2);
939    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
940                              t2, t4, t8);
941    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t8, $t0", 0xfbde3976, 0x00000000,
942                              t0, t8, t0);
943    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t6, $t1", 0x23534870, 0x00354565,
944                              t4, t6, t1);
945    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t1, $t2", 0x980b7cde, 0x00086755,
946                              t0, t1, t2);
947    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
948                              t2, t3, t4);
949    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
950                              t4, t1, t5);
951    TESTDSPINST_RD_RS_RT_DSPC("addsc $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
952                              t6, t7, t3);
953    TESTDSPINST_RD_RS_RT_DSPC("addsc $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
954                              t5, t3, t2);
955    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
956                              t2, t4, t8);
957    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
958                              t0, t8, t0);
959    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t6, $t1", 0xffffffff, 0xffffffff,
960                              t4, t6, t1);
961    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
962                              t0, t1, t2);
963    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
964                              t2, t3, t4);
965    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
966                              t4, t1, t5);
967    TESTDSPINST_RD_RS_RT_DSPC("addsc $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
968                              t6, t7, t3);
969    TESTDSPINST_RD_RS_RT_DSPC("addsc $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
970                              t5, t3, t2);
971    TESTDSPINST_RD_RS_RT_DSPC("addsc $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
972                              t2, t4, t8);
973    TESTDSPINST_RD_RS_RT_DSPC("addsc $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
974                              t0, t8, t0);
975    TESTDSPINST_RD_RS_RT_DSPC("addsc $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
976                              t4, t6, t1);
977 
978    printf("-------- ADDU.QB --------\n");
979    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
980                              t0, t1, t2);
981    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t3, $t4", 0x00045fb2, 0x00000286,
982                              t2, t3, t4);
983    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t1, $t5", 0x00002435, 0xffff3421,
984                              t4, t1, t5);
985    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
986                              t6, t7, t3);
987    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
988                              t5, t3, t2);
989    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
990                              t2, t4, t8);
991    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
992                              t0, t8, t0);
993    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t6, $t1", 0x0034c420, 0x00000555,
994                              t4, t6, t1);
995    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t3, $t4", 0x00000004, 1073741824,
996                              t2, t3, t4);
997    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t1, $t5", 0x80002435, 0x80003421,
998                              t4, t1, t5);
999    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t6, $t7, $t3", 0x76548000, 0x73468000,
1000                              t6, t7, t3);
1001    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t5, $t3, $t2", 0x80000000, 0x80620020,
1002                              t5, t3, t2);
1003    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t4, $t8", 0x00010001, 0xffffffff,
1004                              t2, t4, t8);
1005    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
1006                              t0, t8, t0);
1007    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
1008                              t4, t6, t1);
1009    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
1010                              t0, t1, t2);
1011    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
1012                              t2, t3, t4);
1013    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
1014                              t4, t1, t5);
1015    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
1016                              t6, t7, t3);
1017    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
1018                              t5, t3, t2);
1019    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
1020                              t2, t4, t8);
1021    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
1022                              t0, t8, t0);
1023    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
1024                              t4, t6, t1);
1025    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
1026                              t0, t1, t2);
1027    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
1028                              t2, t3, t4);
1029    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
1030                              t4, t1, t5);
1031    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
1032                              t6, t7, t3);
1033    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
1034                              t5, t3, t2);
1035    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
1036                              t2, t4, t8);
1037    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
1038                              t0, t8, t0);
1039    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
1040                              t4, t6, t1);
1041    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
1042                              t0, t1, t2);
1043    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
1044                              t2, t3, t4);
1045    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
1046                              t4, t1, t5);
1047    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
1048                              t6, t7, t3);
1049    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
1050                              t5, t3, t2);
1051    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
1052                              t2, t4, t8);
1053    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
1054                              t0, t8, t0);
1055    TESTDSPINST_RD_RS_RT_DSPC("addu.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
1056                              t4, t6, t1);
1057 
1058    printf("-------- ADDU_S.QB --------\n");
1059    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
1060                              t0, t1, t2);
1061    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t3, $t4", 0x00045fb2, 0x00000286,
1062                              t2, t3, t4);
1063    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t1, $t5", 0x00002435, 0xffff3421,
1064                              t4, t1, t5);
1065    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
1066                              t6, t7, t3);
1067    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
1068                              t5, t3, t2);
1069    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
1070                              t2, t4, t8);
1071    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
1072                              t0, t8, t0);
1073    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t6, $t1", 0x0034c420, 0x00000555,
1074                              t4, t6, t1);
1075    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t3, $t4", 0x00000004, 1073741824,
1076                              t2, t3, t4);
1077    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t1, $t5", 0x80002435, 0x80003421,
1078                              t4, t1, t5);
1079    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t6, $t7, $t3", 0x76548000, 0x73468000,
1080                              t6, t7, t3);
1081    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t5, $t3, $t2", 0x80000000, 0x80620020,
1082                              t5, t3, t2);
1083    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t4, $t8", 0x00010001, 0xffffffff,
1084                              t2, t4, t8);
1085    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
1086                              t0, t8, t0);
1087    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
1088                              t4, t6, t1);
1089    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
1090                              t0, t1, t2);
1091    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
1092                              t2, t3, t4);
1093    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
1094                              t4, t1, t5);
1095    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
1096                              t6, t7, t3);
1097    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
1098                              t5, t3, t2);
1099    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
1100                              t2, t4, t8);
1101    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
1102                              t0, t8, t0);
1103    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
1104                              t4, t6, t1);
1105    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
1106                              t0, t1, t2);
1107    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
1108                              t2, t3, t4);
1109    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
1110                              t4, t1, t5);
1111    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
1112                              t6, t7, t3);
1113    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
1114                              t5, t3, t2);
1115    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
1116                              t2, t4, t8);
1117    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
1118                              t0, t8, t0);
1119    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
1120                              t4, t6, t1);
1121    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
1122                              t0, t1, t2);
1123    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
1124                              t2, t3, t4);
1125    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
1126                              t4, t1, t5);
1127    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
1128                              t6, t7, t3);
1129    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
1130                              t5, t3, t2);
1131    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
1132                              t2, t4, t8);
1133    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
1134                              t0, t8, t0);
1135    TESTDSPINST_RD_RS_RT_DSPC("addu_s.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
1136                              t4, t6, t1);
1137 
1138    printf("-------- ADDWC --------\n");
1139    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t1, $t2", 0x00000000, 0x00000000,
1140                              t0, t1, t2);
1141    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t3, $t4", 0x00045fb2, 0x00000286,
1142                              t2, t3, t4);
1143    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t1, $t5", 0x00002435, 0xffff3421,
1144                              t4, t1, t5);
1145    TESTDSPINST_RD_RS_RT_DSPC("addwc $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
1146                              t6, t7, t3);
1147    TESTDSPINST_RD_RS_RT_DSPC("addwc $t5, $t3, $t2", 0xf973437b, 0x80000000,
1148                              t5, t3, t2);
1149    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t4, $t8", 0x00010001, 0xfa3259ff,
1150                              t2, t4, t8);
1151    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t8, $t0", 0x7fff7322, 0x77ff7fff,
1152                              t0, t8, t0);
1153    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t6, $t1", 0x0034c420, 0x00000555,
1154                              t4, t6, t1);
1155    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t3, $t4", 0x00000004, 1073741824,
1156                              t2, t3, t4);
1157    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t1, $t5", 0x80002435, 0x80003421,
1158                              t4, t1, t5);
1159    TESTDSPINST_RD_RS_RT_DSPC("addwc $t6, $t7, $t3", 0x76548000, 0x73468000,
1160                              t6, t7, t3);
1161    TESTDSPINST_RD_RS_RT_DSPC("addwc $t5, $t3, $t2", 0x80000000, 0x80620020,
1162                              t5, t3, t2);
1163    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t4, $t8", 0x00010001, 0xffffffff,
1164                              t2, t4, t8);
1165    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
1166                              t0, t8, t0);
1167    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t6, $t1", 0x0000c420, 0x00000555,
1168                              t4, t6, t1);
1169    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t1, $t2", 0x000a2300, 0x83bc1900,
1170                              t0, t1, t2);
1171    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t3, $t4", 0x80000000, 0x80000000,
1172                              t2, t3, t4);
1173    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
1174                              t4, t1, t5);
1175    TESTDSPINST_RD_RS_RT_DSPC("addwc $t6, $t7, $t3", 0x00000018, 0xffff2435,
1176                              t6, t7, t3);
1177    TESTDSPINST_RD_RS_RT_DSPC("addwc $t5, $t3, $t2", 0xbabababa, 0xabababab,
1178                              t5, t3, t2);
1179    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
1180                              t2, t4, t8);
1181    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t8, $t0", 0xfbde3976, 0x00000000,
1182                              t0, t8, t0);
1183    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t6, $t1", 0x23534870, 0x00354565,
1184                              t4, t6, t1);
1185    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t1, $t2", 0x980b7cde, 0x00086755,
1186                              t0, t1, t2);
1187    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
1188                              t2, t3, t4);
1189    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
1190                              t4, t1, t5);
1191    TESTDSPINST_RD_RS_RT_DSPC("addwc $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
1192                              t6, t7, t3);
1193    TESTDSPINST_RD_RS_RT_DSPC("addwc $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
1194                              t5, t3, t2);
1195    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
1196                              t2, t4, t8);
1197    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
1198                              t0, t8, t0);
1199    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t6, $t1", 0xffffffff, 0xffffffff,
1200                              t4, t6, t1);
1201    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
1202                              t0, t1, t2);
1203    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
1204                              t2, t3, t4);
1205    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
1206                              t4, t1, t5);
1207    TESTDSPINST_RD_RS_RT_DSPC("addwc $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
1208                              t6, t7, t3);
1209    TESTDSPINST_RD_RS_RT_DSPC("addwc $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
1210                              t5, t3, t2);
1211    TESTDSPINST_RD_RS_RT_DSPC("addwc $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
1212                              t2, t4, t8);
1213    TESTDSPINST_RD_RS_RT_DSPC("addwc $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
1214                              t0, t8, t0);
1215    TESTDSPINST_RD_RS_RT_DSPC("addwc $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
1216                              t4, t6, t1);
1217 
1218    printf("-------- BITREV --------\n");
1219    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t1", 0x09ba4800, t0, t1);
1220    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t3", 0x80003286, t2, t3);
1221    TESTDSPINST_RD_RT_NODSPC("bitrev $t4, $t1", 0xfabc2435, t4, t1);
1222    TESTDSPINST_RD_RT_NODSPC("bitrev $t6, $t7", 0x73468000, t6, t7);
1223    TESTDSPINST_RD_RT_NODSPC("bitrev $t5, $t3", 0x803c6900, t5, t3);
1224    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0xffad492f, t2, t4);
1225    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t8", 0xfff45fff, t0, t8);
1226    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0x00000555, t2, t4);
1227    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t1", 0x0098f308, t0, t1);
1228    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t3", 0x80000000, t2, t3);
1229    TESTDSPINST_RD_RT_NODSPC("bitrev $t4, $t1", 0x55555555, t4, t1);
1230    TESTDSPINST_RD_RT_NODSPC("bitrev $t6, $t7", 0xffff2435, t6, t7);
1231    TESTDSPINST_RD_RT_NODSPC("bitrev $t5, $t3", 0xabababab, t5, t3);
1232    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0xfc79b4d2, t2, t4);
1233    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t8", 0x00000000, t0, t8);
1234    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0x00354565, t2, t4);
1235    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t1", 0x00086755, t0, t1);
1236    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t3", 0x8f8f8f8f, t2, t3);
1237    TESTDSPINST_RD_RT_NODSPC("bitrev $t4, $t1", 0xeeeeeeee, t4, t1);
1238    TESTDSPINST_RD_RT_NODSPC("bitrev $t6, $t7", 0x1bdbdbdb, t6, t7);
1239    TESTDSPINST_RD_RT_NODSPC("bitrev $t5, $t3", 0xdecadeca, t5, t3);
1240    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0x93474bde, t2, t4);
1241    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t8", 0xfc0007ff, t0, t8);
1242    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0xffffffff, t2, t4);
1243    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t1", 0xcb4ab48f, t0, t1);
1244    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t3", 0xaf8f7e18, t2, t3);
1245    TESTDSPINST_RD_RT_NODSPC("bitrev $t4, $t1", 0x87df4510, t4, t1);
1246    TESTDSPINST_RD_RT_NODSPC("bitrev $t6, $t7", 0xabf4e8e1, t6, t7);
1247    TESTDSPINST_RD_RT_NODSPC("bitrev $t5, $t3", 0xf4c0eeac, t5, t3);
1248    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0x006a54f2, t2, t4);
1249    TESTDSPINST_RD_RT_NODSPC("bitrev $t0, $t8", 0x79f74493, t0, t8);
1250    TESTDSPINST_RD_RT_NODSPC("bitrev $t2, $t4", 0x9c09e313, t2, t4);
1251 
1252    printf("-------- BPOSGE32 --------\n");
1253    TESTDSPINST_BPOSGE32("bposge32", 0, 0, v0, t1);
1254    TESTDSPINST_BPOSGE32("bposge32", 1, 1, v1, t0);
1255    TESTDSPINST_BPOSGE32("bposge32", 2, 32, a0, t1);
1256    TESTDSPINST_BPOSGE32("bposge32", 3, 17, a1, t2);
1257    TESTDSPINST_BPOSGE32("bposge32", 4, 8, a2, t0);
1258    TESTDSPINST_BPOSGE32("bposge32", 5, 60, a3, t0);
1259    TESTDSPINST_BPOSGE32("bposge32", 6, 0x5, t0, t1);
1260    TESTDSPINST_BPOSGE32("bposge32", 7, -3, t1, t2);
1261    TESTDSPINST_BPOSGE32("bposge32", 8, 125, t2, t3);
1262    TESTDSPINST_BPOSGE32("bposge32", 9, 7, t3, t4);
1263    TESTDSPINST_BPOSGE32("bposge32", 10, 42, t4, t5);
1264    TESTDSPINST_BPOSGE32("bposge32", 11, 53, t5, t6);
1265    TESTDSPINST_BPOSGE32("bposge32", 12, 99, t6, t7);
1266    TESTDSPINST_BPOSGE32("bposge32", 13, 12, s0, t1);
1267    TESTDSPINST_BPOSGE32("bposge32", 14, 4, v0, t9);
1268    TESTDSPINST_BPOSGE32("bposge32", 15, 6, t9, t8);
1269 
1270    printf("-------- CMP.EQ.PH --------\n");
1271    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t1", 0x00000000, 0x0fffffff, t0, t1);
1272    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t3", 0x00045fb2, 0x00000286, t2, t3);
1273    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t1", 0xfabc2435, 0xfabc3421, t4, t1);
1274    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t6, $t7", 0x07654cb8, 0x73464cb8, t6, t7);
1275    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t5, $t3", 0xf973437b, 0x80000000, t5, t3);
1276    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t4", 0x00010001, 0xffffffff, t2, t4);
1277    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0, t8);
1278    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t6", 0x0000c420, 0x00000555, t4, t6);
1279    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t1", 0x00000000, 0x00000000, t0, t1);
1280    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t3", 0x80000000, 0x80000000, t2, t3);
1281    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t1", 0xaaaaaaaa, 0x55555555, t4, t1);
1282    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t6, $t7", 0x00000018, 0xffff2435, t6, t7);
1283    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t5, $t3", 0xbabababa, 0xabababab, t5, t3);
1284    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2, t4);
1285    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t8", 0xfbde3976, 0x00000000, t0, t8);
1286    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t6", 0x23534870, 0x00354565, t4, t6);
1287    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t1", 0x980b7cde, 0x00086755, t0, t1);
1288    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t3", 0x00000018, 0x8f8f8f8f, t2, t3);
1289    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t1", 0x92784656, 0xeeeeeeee, t4, t1);
1290    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6, t7);
1291    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t5, $t3", 0xbacabaca, 0xdecadeca, t5, t3);
1292    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t4", 0x12fadeb4, 0x93474bde, t2, t4);
1293    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t8", 0x7c000790, 0xfc0007ff, t0, t8);
1294    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t6", 0xffffffff, 0xffffffff, t4, t6);
1295    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0, t1);
1296    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t3", 0x435f909a, 0xaf8f7e18, t2, t3);
1297    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t1", 0x2106ba5f, 0x87df4510, t4, t1);
1298    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t6, $t7", 0x246a6376, 0xabf4e8e1, t6, t7);
1299    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5, t3);
1300    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t2, $t4", 0x638ca515, 0x006a54f2, t2, t4);
1301    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t0, $t8", 0xf63e7a9d, 0x79f74493, t0, t8);
1302    TESTDSPINST_RS_RT_DSPC("cmp.eq.ph $t4, $t6", 0xbd6845cd, 0x9c09e313, t4, t6);
1303 
1304    printf("-------- CMP.LT.PH --------\n");
1305    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t1", 0x00000000, 0x0fffffff, t0, t1);
1306    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t3", 0x00045fb2, 0x00000286, t2, t3);
1307    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t1", 0xfabc2435, 0xfabc3421, t4, t1);
1308    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t6, $t7", 0x07654cb8, 0x73464cb8, t6, t7);
1309    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t5, $t3", 0xf973437b, 0x80000000, t5, t3);
1310    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t4", 0x00010001, 0xffffffff, t2, t4);
1311    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0, t8);
1312    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t6", 0x0000c420, 0x00000555, t4, t6);
1313    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t1", 0x00000000, 0x00000000, t0, t1);
1314    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t3", 0x80000000, 0x80000000, t2, t3);
1315    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t1", 0xaaaaaaaa, 0x55555555, t4, t1);
1316    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t6, $t7", 0x00000018, 0xffff2435, t6, t7);
1317    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t5, $t3", 0xbabababa, 0xabababab, t5, t3);
1318    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2, t4);
1319    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t8", 0xfbde3976, 0x00000000, t0, t8);
1320    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t6", 0x23534870, 0x00354565, t4, t6);
1321    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t1", 0x980b7cde, 0x00086755, t0, t1);
1322    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t3", 0x00000018, 0x8f8f8f8f, t2, t3);
1323    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t1", 0x92784656, 0xeeeeeeee, t4, t1);
1324    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6, t7);
1325    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t5, $t3", 0xbacabaca, 0xdecadeca, t5, t3);
1326    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t4", 0x12fadeb4, 0x93474bde, t2, t4);
1327    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t8", 0x7c000790, 0xfc0007ff, t0, t8);
1328    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t6", 0xffffffff, 0xffffffff, t4, t6);
1329    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0, t1);
1330    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t3", 0x435f909a, 0xaf8f7e18, t2, t3);
1331    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t1", 0x2106ba5f, 0x87df4510, t4, t1);
1332    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t6, $t7", 0x246a6376, 0xabf4e8e1, t6, t7);
1333    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5, t3);
1334    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t2, $t4", 0x638ca515, 0x006a54f2, t2, t4);
1335    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t0, $t8", 0xf63e7a9d, 0x79f74493, t0, t8);
1336    TESTDSPINST_RS_RT_DSPC("cmp.lt.ph $t4, $t6", 0xbd6845cd, 0x9c09e313, t4, t6);
1337 
1338    printf("-------- CMP.LE.PH --------\n");
1339    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t1", 0x00000000, 0x0fffffff, t0, t1);
1340    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t3", 0x00045fb2, 0x00000286, t2, t3);
1341    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t1", 0xfabc2435, 0xfabc3421, t4, t1);
1342    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t6, $t7", 0x07654cb8, 0x73464cb8, t6, t7);
1343    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t5, $t3", 0xf973437b, 0x80000000, t5, t3);
1344    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t4", 0x00010001, 0xffffffff, t2, t4);
1345    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0, t8);
1346    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t6", 0x0000c420, 0x00000555, t4, t6);
1347    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t1", 0x00000000, 0x00000000, t0, t1);
1348    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t3", 0x80000000, 0x80000000, t2, t3);
1349    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t1", 0xaaaaaaaa, 0x55555555, t4, t1);
1350    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t6, $t7", 0x00000018, 0xffff2435, t6, t7);
1351    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t5, $t3", 0xbabababa, 0xabababab, t5, t3);
1352    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2, t4);
1353    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t8", 0xfbde3976, 0x00000000, t0, t8);
1354    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t6", 0x23534870, 0x00354565, t4, t6);
1355    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t1", 0x980b7cde, 0x00086755, t0, t1);
1356    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t3", 0x00000018, 0x8f8f8f8f, t2, t3);
1357    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t1", 0x92784656, 0xeeeeeeee, t4, t1);
1358    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6, t7);
1359    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t5, $t3", 0xbacabaca, 0xdecadeca, t5, t3);
1360    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t4", 0x12fadeb4, 0x93474bde, t2, t4);
1361    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t8", 0x7c000790, 0xfc0007ff, t0, t8);
1362    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t6", 0xffffffff, 0xffffffff, t4, t6);
1363    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0, t1);
1364    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t3", 0x435f909a, 0xaf8f7e18, t2, t3);
1365    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t1", 0x2106ba5f, 0x87df4510, t4, t1);
1366    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t6, $t7", 0x246a6376, 0xabf4e8e1, t6, t7);
1367    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5, t3);
1368    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t2, $t4", 0x638ca515, 0x006a54f2, t2, t4);
1369    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t0, $t8", 0xf63e7a9d, 0x79f74493, t0, t8);
1370    TESTDSPINST_RS_RT_DSPC("cmp.le.ph $t4, $t6", 0xbd6845cd, 0x9c09e313, t4, t6);
1371 
1372    printf("-------- CMPGU.EQ.QB --------\n");
1373    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t1, $t2", 0x00672300,
1374                                0x00000000, t0, t1, t2);
1375    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t3, $t4", 0x00045fb2,
1376                                0x00000286, t2, t3, t4);
1377    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t1, $t5", 0x00002435,
1378                                0xffff3421, t4, t1, t5);
1379    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t6, $t7, $t3", 0x07654cb8,
1380                                0x734680bc, t6, t7, t3);
1381    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t5, $t3, $t2", 0xf973437b,
1382                                0x80000000, t5, t3, t2);
1383    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t4, $t8", 0x00010001,
1384                                0xf08b4631, t2, t4, t8);
1385    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t8, $t0", 0x5cbd891a,
1386                                0x7fff7fff, t0, t8, t0);
1387    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t6, $t1", 0x0000c420,
1388                                0x0ab64555, t4, t6, t1);
1389    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t3, $t4", 0x00000004,
1390                                1073741824, t2, t3, t4);
1391    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t1, $t5", 0x80002435,
1392                                0x80003421, t4, t1, t5);
1393    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t6, $t7, $t3", 0x76548000,
1394                                0x73468000, t6, t7, t3);
1395    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t5, $t3, $t2", 0x8007c560,
1396                                0x80000000, t5, t3, t2);
1397    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t4, $t8", 0x00010001,
1398                                0xffffffff, t2, t4, t8);
1399    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t8, $t0", 0x7fff7fff,
1400                                0x7fff7fff, t0, t8, t0);
1401    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t6, $t1", 0x0000c420,
1402                                0x00000555, t4, t6, t1);
1403    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t1, $t2", 0x00000000,
1404                                0x00000000, t0, t1, t2);
1405    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t3, $t4", 0x80000000,
1406                                0x80000000, t2, t3, t4);
1407    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t1, $t5", 0xaaaaaaaa,
1408                                0x55555555, t4, t1, t5);
1409    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t6, $t7, $t3", 0x00000018,
1410                                0xffff2435, t6, t7, t3);
1411    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t5, $t3, $t2", 0xbabababa,
1412                                0xabababab, t5, t3, t2);
1413    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t4, $t8", 0xf0f0f0f0,
1414                                0xfc79b4d2, t2, t4, t8);
1415    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t8, $t0", 0xfbde3976,
1416                                0x00000000, t0, t8, t0);
1417    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t6, $t1", 0x23534870,
1418                                0x00354565, t4, t6, t1);
1419    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t1, $t2", 0x980b7cde,
1420                                0x00086755, t0, t1, t2);
1421    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t3, $t4", 0x00000018,
1422                                0x8f8f8f8f, t2, t3, t4);
1423    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t1, $t5", 0x92784656,
1424                                0xeeeeeeee, t4, t1, t5);
1425    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t6, $t7, $t3", 0xcacacaca,
1426                                0x1bdbdbdb, t6, t7, t3);
1427    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t5, $t3, $t2", 0xbacabaca,
1428                                0xdecadeca, t5, t3, t2);
1429    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t4, $t8", 0x12fadeb4,
1430                                0x93474bde, t2, t4, t8);
1431    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t8, $t0", 0x7c000790,
1432                                0xfc0007ff, t0, t8, t0);
1433    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t6, $t1", 0xffffffff,
1434                                0xffffffff, t4, t6, t1);
1435    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t1, $t2", 0xf2f4df1f,
1436                                0xcb4ab48f, t0, t1, t2);
1437    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t3, $t4", 0x435f909a,
1438                                0xaf8f7e18, t2, t3, t4);
1439    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t1, $t5", 0x2106ba5f,
1440                                0x87df4510, t4, t1, t5);
1441    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t6, $t7, $t3", 0x246a6376,
1442                                0xabf4e8e1, t6, t7, t3);
1443    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t5, $t3, $t2", 0x1046a1a3,
1444                                0xf4c0eeac, t5, t3, t2);
1445    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t2, $t4, $t8", 0x638ca515,
1446                                0x006a54f2, t2, t4, t8);
1447    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t0, $t8, $t0", 0xf63e7a9d,
1448                                0x79f74493, t0, t8, t0);
1449    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.eq.qb $t4, $t6, $t1", 0xbd6845cd,
1450                                0x9c09e313, t4, t6, t1);
1451 
1452    printf("-------- CMPGU.LT.QB --------\n");
1453    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t1, $t2", 0x00672300,
1454                                0x00000000, t0, t1, t2);
1455    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t3, $t4", 0x00045fb2,
1456                                0x00000286, t2, t3, t4);
1457    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t1, $t5", 0x00002435,
1458                                0xffff3421, t4, t1, t5);
1459    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t6, $t7, $t3", 0x07654cb8,
1460                                0x734680bc, t6, t7, t3);
1461    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t5, $t3, $t2", 0xf973437b,
1462                                0x80000000, t5, t3, t2);
1463    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t4, $t8", 0x00010001,
1464                                0xf08b4631, t2, t4, t8);
1465    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t8, $t0", 0x5cbd891a,
1466                                0x7fff7fff, t0, t8, t0);
1467    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t6, $t1", 0x0000c420,
1468                                0x0ab64555, t4, t6, t1);
1469    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t3, $t4", 0x00000004,
1470                                1073741824, t2, t3, t4);
1471    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t1, $t5", 0x80002435,
1472                                0x80003421, t4, t1, t5);
1473    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t6, $t7, $t3", 0x76548000,
1474                                0x73468000, t6, t7, t3);
1475    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t5, $t3, $t2", 0x8007c560,
1476                                0x80000000, t5, t3, t2);
1477    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t4, $t8", 0x00010001,
1478                                0xffffffff, t2, t4, t8);
1479    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t8, $t0", 0x7fff7fff,
1480                                0x7fff7fff, t0, t8, t0);
1481    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t6, $t1", 0x0000c420,
1482                                0x00000555, t4, t6, t1);
1483    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t1, $t2", 0x00000000,
1484                                0x00000000, t0, t1, t2);
1485    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t3, $t4", 0x80000000,
1486                                0x80000000, t2, t3, t4);
1487    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t1, $t5", 0xaaaaaaaa,
1488                                0x55555555, t4, t1, t5);
1489    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t6, $t7, $t3", 0x00000018,
1490                                0xffff2435, t6, t7, t3);
1491    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t5, $t3, $t2", 0xbabababa,
1492                                0xabababab, t5, t3, t2);
1493    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t4, $t8", 0xf0f0f0f0,
1494                                0xfc79b4d2, t2, t4, t8);
1495    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t8, $t0", 0xfbde3976,
1496                                0x00000000, t0, t8, t0);
1497    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t6, $t1", 0x23534870,
1498                                0x00354565, t4, t6, t1);
1499    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t1, $t2", 0x980b7cde,
1500                                0x00086755, t0, t1, t2);
1501    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t3, $t4", 0x00000018,
1502                                0x8f8f8f8f, t2, t3, t4);
1503    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t1, $t5", 0x92784656,
1504                                0xeeeeeeee, t4, t1, t5);
1505    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t6, $t7, $t3", 0xcacacaca,
1506                                0x1bdbdbdb, t6, t7, t3);
1507    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t5, $t3, $t2", 0xbacabaca,
1508                                0xdecadeca, t5, t3, t2);
1509    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t4, $t8", 0x12fadeb4,
1510                                0x93474bde, t2, t4, t8);
1511    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t8, $t0", 0x7c000790,
1512                                0xfc0007ff, t0, t8, t0);
1513    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t6, $t1", 0xffffffff,
1514                                0xffffffff, t4, t6, t1);
1515    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t1, $t2", 0xf2f4df1f,
1516                                0xcb4ab48f, t0, t1, t2);
1517    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t3, $t4", 0x435f909a,
1518                                0xaf8f7e18, t2, t3, t4);
1519    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t1, $t5", 0x2106ba5f,
1520                                0x87df4510, t4, t1, t5);
1521    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t6, $t7, $t3", 0x246a6376,
1522                                0xabf4e8e1, t6, t7, t3);
1523    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t5, $t3, $t2", 0x1046a1a3,
1524                                0xf4c0eeac, t5, t3, t2);
1525    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t2, $t4, $t8", 0x638ca515,
1526                                0x006a54f2, t2, t4, t8);
1527    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t0, $t8, $t0", 0xf63e7a9d,
1528                                0x79f74493, t0, t8, t0);
1529    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.lt.qb $t4, $t6, $t1", 0xbd6845cd,
1530                                0x9c09e313, t4, t6, t1);
1531 
1532    printf("-------- CMPGU.LE.QB --------\n");
1533    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t1, $t2", 0x00672300,
1534                                0x00000000, t0, t1, t2);
1535    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t3, $t4", 0x00045fb2,
1536                                0x00000286, t2, t3, t4);
1537    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t1, $t5", 0x00002435,
1538                                0xffff3421, t4, t1, t5);
1539    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t6, $t7, $t3", 0x07654cb8,
1540                                0x734680bc, t6, t7, t3);
1541    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t5, $t3, $t2", 0xf973437b,
1542                                0x80000000, t5, t3, t2);
1543    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t4, $t8", 0x00010001,
1544                                0xf08b4631, t2, t4, t8);
1545    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t8, $t0", 0x5cbd891a,
1546                                0x7fff7fff, t0, t8, t0);
1547    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t6, $t1", 0x0000c420,
1548                                0x0ab64555, t4, t6, t1);
1549    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t3, $t4", 0x00000004,
1550                                1073741824, t2, t3, t4);
1551    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t1, $t5", 0x80002435,
1552                                0x80003421, t4, t1, t5);
1553    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t6, $t7, $t3", 0x76548000,
1554                                0x73468000, t6, t7, t3);
1555    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t5, $t3, $t2", 0x8007c560,
1556                                0x80000000, t5, t3, t2);
1557    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t4, $t8", 0x00010001,
1558                                0xffffffff, t2, t4, t8);
1559    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t8, $t0", 0x7fff7fff,
1560                                0x7fff7fff, t0, t8, t0);
1561    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t6, $t1", 0x0000c420,
1562                                0x00000555, t4, t6, t1);
1563    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t1, $t2", 0x00000000,
1564                                0x00000000, t0, t1, t2);
1565    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t3, $t4", 0x80000000,
1566                                0x80000000, t2, t3, t4);
1567    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t1, $t5", 0xaaaaaaaa,
1568                                0x55555555, t4, t1, t5);
1569    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t6, $t7, $t3", 0x00000018,
1570                                0xffff2435, t6, t7, t3);
1571    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t5, $t3, $t2", 0xbabababa,
1572                                0xabababab, t5, t3, t2);
1573    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t4, $t8", 0xf0f0f0f0,
1574                                0xfc79b4d2, t2, t4, t8);
1575    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t8, $t0", 0xfbde3976,
1576                                0x00000000, t0, t8, t0);
1577    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t6, $t1", 0x23534870,
1578                                0x00354565, t4, t6, t1);
1579    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t1, $t2", 0x980b7cde,
1580                                0x00086755, t0, t1, t2);
1581    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t3, $t4", 0x00000018,
1582                                0x8f8f8f8f, t2, t3, t4);
1583    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t1, $t5", 0x92784656,
1584                                0xeeeeeeee, t4, t1, t5);
1585    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t6, $t7, $t3", 0xcacacaca,
1586                                0x1bdbdbdb, t6, t7, t3);
1587    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t5, $t3, $t2", 0xbacabaca,
1588                                0xdecadeca, t5, t3, t2);
1589    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t4, $t8", 0x12fadeb4,
1590                                0x93474bde, t2, t4, t8);
1591    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t8, $t0", 0x7c000790,
1592                                0xfc0007ff, t0, t8, t0);
1593    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t6, $t1", 0xffffffff,
1594                                0xffffffff, t4, t6, t1);
1595    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t1, $t2", 0xf2f4df1f,
1596                                0xcb4ab48f, t0, t1, t2);
1597    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t3, $t4", 0x435f909a,
1598                                0xaf8f7e18, t2, t3, t4);
1599    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t1, $t5", 0x2106ba5f,
1600                                0x87df4510, t4, t1, t5);
1601    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t6, $t7, $t3", 0x246a6376,
1602                                0xabf4e8e1, t6, t7, t3);
1603    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t5, $t3, $t2", 0x1046a1a3,
1604                                0xf4c0eeac, t5, t3, t2);
1605    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t2, $t4, $t8", 0x638ca515,
1606                                0x006a54f2, t2, t4, t8);
1607    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t0, $t8, $t0", 0xf63e7a9d,
1608                                0x79f74493, t0, t8, t0);
1609    TESTDSPINST_RD_RS_RT_NODSPC("cmpgu.le.qb $t4, $t6, $t1", 0xbd6845cd,
1610                                0x9c09e313, t4, t6, t1);
1611 
1612    printf("-------- CMPU.EQ.QB --------\n");
1613    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t1", 0x00000000, 0x0fffffff, t0,
1614                           t1);
1615    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t3", 0x00005fb2, 0x00000286, t2,
1616                           t3);
1617    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t1", 0xfabc2435, 0xfabc3421, t4,
1618                           t1);
1619    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t6, $t7", 0x07654cb8, 0x73464cb8, t6,
1620                           t7);
1621    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t5, $t3", 0xf973437b, 0x80734300, t5,
1622                           t3);
1623    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t4", 0x00010001, 0xffffffff, t2,
1624                           t4);
1625    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0,
1626                           t8);
1627    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t6", 0x0000c420, 0x0000c420, t4,
1628                           t6);
1629    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t1", 0x00000000, 0x00000000, t0,
1630                           t1);
1631    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t3", 0x80000000, 0x80000000, t2,
1632                           t3);
1633    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t1", 0xaaaaaaaa, 0x55555555, t4,
1634                           t1);
1635    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t6, $t7", 0x00000018, 0xffff2435, t6,
1636                           t7);
1637    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t5, $t3", 0xbabababa, 0xabababab, t5,
1638                           t3);
1639    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2,
1640                           t4);
1641    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t8", 0xfbde3976, 0x00000000, t0,
1642                           t8);
1643    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t6", 0x23534870, 0x00354565, t4,
1644                           t6);
1645    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t1", 0x980b7cde, 0x00086755, t0,
1646                           t1);
1647    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t3", 0x00000018, 0x8f8f8f8f, t2,
1648                           t3);
1649    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t1", 0x92784656, 0xeeeeeeee, t4,
1650                           t1);
1651    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6,
1652                           t7);
1653    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t5, $t3", 0xbacabaca, 0xdecadeca, t5,
1654                           t3);
1655    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t4", 0x12fadeb4, 0x93474bde, t2,
1656                           t4);
1657    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t8", 0x7c000790, 0xfc0007ff, t0,
1658                           t8);
1659    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t6", 0xffffffff, 0xffffffff, t4,
1660                           t6);
1661    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0,
1662                           t1);
1663    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t3", 0x435f909a, 0xaf8f7e18, t2,
1664                           t3);
1665    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t1", 0x2106ba5f, 0x87df4510, t4,
1666                           t1);
1667    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t6, $t7", 0x246a6376, 0xabf4e8e1, t6,
1668                           t7);
1669    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5,
1670                           t3);
1671    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t2, $t4", 0x638ca515, 0x006a54f2, t2,
1672                           t4);
1673    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t0, $t8", 0xf63e7a9d, 0x79f74493, t0,
1674                           t8);
1675    TESTDSPINST_RS_RT_DSPC("cmpu.eq.qb $t4, $t6", 0xbd6845cd, 0x9c09e313, t4,
1676                           t6);
1677 
1678    printf("-------- CMPU.LT.QB --------\n");
1679    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t1", 0x00000000, 0x0fffffff, t0,
1680                           t1);
1681    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t3", 0x00045fb2, 0x01080286, t2,
1682                           t3);
1683    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t1", 0xfabc2435, 0xfabc3421, t4,
1684                           t1);
1685    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t6, $t7", 0x07654cb8, 0x73464cb8, t6,
1686                           t7);
1687    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t5, $t3", 0xf973437b, 0x80000000, t5,
1688                           t3);
1689    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t4", 0xffffffff, 0x00010001, t2,
1690                           t4);
1691    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0,
1692                           t8);
1693    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t6", 0x0000c420, 0x00000555, t4,
1694                           t6);
1695    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t1", 0x00000000, 0x00000000, t0,
1696                           t1);
1697    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t3", 0x80000000, 0x80000000, t2,
1698                           t3);
1699    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t1", 0xaaaaaaaa, 0x55555555, t4,
1700                           t1);
1701    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t6, $t7", 0x00000018, 0xffff2435, t6,
1702                           t7);
1703    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t5, $t3", 0xbabababa, 0xabababab, t5,
1704                           t3);
1705    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2,
1706                           t4);
1707    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t8", 0xfbde3976, 0x00000000, t0,
1708                           t8);
1709    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t6", 0x23534870, 0x00354565, t4,
1710                           t6);
1711    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t1", 0x980b7cde, 0x00086755, t0,
1712                           t1);
1713    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t3", 0x00000018, 0x8f8f8f8f, t2,
1714                           t3);
1715    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t1", 0x92784656, 0xeeeeeeee, t4,
1716                           t1);
1717    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6,
1718                           t7);
1719    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t5, $t3", 0xbacabaca, 0xdecadeca, t5,
1720                           t3);
1721    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t4", 0x12fadeb4, 0x93474bde, t2,
1722                           t4);
1723    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t8", 0x7c000790, 0xfc0007ff, t0,
1724                           t8);
1725    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t6", 0xffffffff, 0xffffffff, t4,
1726                           t6);
1727    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0,
1728                           t1);
1729    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t3", 0x435f909a, 0xaf8f7e18, t2,
1730                           t3);
1731    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t1", 0x2106ba5f, 0x87df4510, t4,
1732                           t1);
1733    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t6, $t7", 0x246a6376, 0xabf4e8e1, t6,
1734                           t7);
1735    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5,
1736                           t3);
1737    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t2, $t4", 0x638ca515, 0x006a54f2, t2,
1738                           t4);
1739    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t0, $t8", 0xf63e7a9d, 0x79f74493, t0,
1740                           t8);
1741    TESTDSPINST_RS_RT_DSPC("cmpu.lt.qb $t4, $t6", 0xbd6845cd, 0x9c09e313, t4,
1742                           t6);
1743 
1744    printf("-------- CMPU.LE.QB --------\n");
1745    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t1", 0x00000000, 0x0fffffff, t0,
1746                           t1);
1747    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t3", 0x00045fb2, 0x01040286, t2,
1748                           t3);
1749    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t1", 0xfabc2435, 0xfabc3421, t4,
1750                           t1);
1751    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t6, $t7", 0x07654cb8, 0x73464cb8, t6,
1752                           t7);
1753    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t5, $t3", 0xf973437b, 0x80000000, t5,
1754                           t3);
1755    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t4", 0x00010001, 0xffffffff, t2,
1756                           t4);
1757    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t8", 0x7fff7fff, 0x7fff7fff, t0,
1758                           t8);
1759    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t6", 0x0000c420, 0x00000555, t4,
1760                           t6);
1761    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t1", 0x00000000, 0x00000000, t0,
1762                           t1);
1763    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t3", 0x80000000, 0x80000000, t2,
1764                           t3);
1765    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t1", 0xaaaaaaaa, 0x55555555, t4,
1766                           t1);
1767    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t6, $t7", 0x00000018, 0xffff2435, t6,
1768                           t7);
1769    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t5, $t3", 0xbabababa, 0xabababab, t5,
1770                           t3);
1771    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t4", 0xf0f0f0f0, 0xfc79b4d2, t2,
1772                           t4);
1773    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t8", 0xfbde3976, 0x00000000, t0,
1774                           t8);
1775    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t6", 0x23534870, 0x00354565, t4,
1776                           t6);
1777    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t1", 0x980b7cde, 0x00086755, t0,
1778                           t1);
1779    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t3", 0x00000018, 0x8f8f8f8f, t2,
1780                           t3);
1781    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t1", 0x92784656, 0xeeeeeeee, t4,
1782                           t1);
1783    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t6, $t7", 0xcacacaca, 0x1bdbdbdb, t6,
1784                           t7);
1785    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t5, $t3", 0xbacabaca, 0xdecadeca, t5,
1786                           t3);
1787    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t4", 0x12fadeb4, 0x93474bde, t2,
1788                           t4);
1789    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t8", 0x7c000790, 0xfc0007ff, t0,
1790                           t8);
1791    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t6", 0xffffffff, 0xffffffff, t4,
1792                           t6);
1793    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t1", 0xf2f4df1f, 0xcb4ab48f, t0,
1794                           t1);
1795    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t3", 0x435f909a, 0xaf8f7e18, t2,
1796                           t3);
1797    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t1", 0x2106ba5f, 0x87df4510, t4,
1798                           t1);
1799    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t6, $t7", 0x246a6376, 0xabf4e8e1, t6,
1800                           t7);
1801    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t5, $t3", 0x1046a1a3, 0xf4c0eeac, t5,
1802                           t3);
1803    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t2, $t4", 0x638ca515, 0x006a54f2, t2,
1804                           t4);
1805    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t0, $t8", 0xf63e7a9d, 0x79f74493, t0,
1806                           t8);
1807    TESTDSPINST_RS_RT_DSPC("cmpu.le.qb $t4, $t6", 0xbd6845cd, 0x9c09e313, t4,
1808                           t6);
1809 
1810    printf("-------- DPAQ_S.W.PH --------\n");
1811    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
1812                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
1813    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
1814                              1073741824, 0x00000000, 0x00000006, t0, t1);
1815    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
1816                              0x80003421, 0x00000000, 1073741824, t2, t3);
1817    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
1818                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
1819    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
1820                              0x80000000, 0x00000000, 0x00000001, t5, t3);
1821    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
1822                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
1823    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
1824                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
1825    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
1826                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
1827    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
1828                              0x00000000, 0x00000000, 0x55555555, t2, t3);
1829    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
1830                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
1831    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
1832                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
1833    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
1834                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
1835    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
1836                              0xabababab, 0x00000000, 0x00000000, t2, t4);
1837    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
1838                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
1839    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
1840                              0x00000000, 0x00000000, 0x12349876, t4, t5);
1841    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
1842                              0x00354565, 0x00000000, 0x00354565, t0, t1);
1843    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
1844                              0x00086755, 0x00000000, 0x00086755, t2, t3);
1845    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
1846                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
1847    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
1848                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
1849    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
1850                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
1851    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
1852                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
1853    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
1854                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
1855    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
1856                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
1857    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
1858                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
1859    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
1860                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
1861    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
1862                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
1863    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
1864                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
1865    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
1866                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
1867    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
1868                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
1869    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
1870                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
1871    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
1872                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
1873    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
1874                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
1875    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
1876                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
1877    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
1878                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
1879    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
1880                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
1881    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
1882                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
1883    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
1884                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
1885    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
1886                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
1887    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
1888                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
1889    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
1890                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
1891    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
1892                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
1893    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
1894                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
1895    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
1896                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
1897    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
1898                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
1899    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
1900                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
1901    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
1902                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
1903    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
1904                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
1905    TESTDSPINST_AC_RS_RT_DSPC("dpaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
1906                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
1907 
1908 
1909    printf("-------- DPAQ_SA.L.W -------- \n");
1910    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t4, $t5", "ac3", 0x00000000,
1911                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
1912    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0x00000004,
1913                              1073741824, 0x00000000, 0x00000006, t0, t1);
1914    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0x80002435,
1915                              0x80003421, 0x00000000, 1073741824, t2, t3);
1916    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0x76548000,
1917                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
1918    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0x80000000,
1919                              0x80000000, 0x00000000, 0x00000001, t5, t3);
1920    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0x00010001,
1921                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
1922    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0x7fff7fff,
1923                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
1924    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0x0000c420,
1925                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
1926    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0x00000000,
1927                              0x00000000, 0x00000000, 0x55555555, t2, t3);
1928    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t4, $t1", "ac2", 0x80000000,
1929                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
1930    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
1931                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
1932    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0x00000018,
1933                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
1934    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0xbabababa,
1935                              0xabababab, 0x00000000, 0x00000000, t2, t4);
1936    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
1937                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
1938    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t4, $t5", "ac3", 0xfbde3976,
1939                              0x00000000, 0x00000000, 0x12349876, t4, t5);
1940    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0x23534870,
1941                              0x00354565, 0x00000000, 0x00354565, t0, t1);
1942    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0x980b7cde,
1943                              0x00086755, 0x00000000, 0x00086755, t2, t3);
1944    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t4, $t1", "ac2", 0x00000018,
1945                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
1946    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0x92784656,
1947                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
1948    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0xcacacaca,
1949                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
1950    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0xbacabaca,
1951                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
1952    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0x12fadeb4,
1953                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
1954    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t4, $t5", "ac3", 0x7c000790,
1955                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
1956    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0xffffffff,
1957                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
1958    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0x24a3291e,
1959                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
1960    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0xdd91eebf,
1961                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
1962    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
1963                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
1964    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0xbc1083e8,
1965                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
1966    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0xa617cc31,
1967                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
1968    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
1969                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
1970    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0x31458a23,
1971                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
1972    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t4, $t5", "ac3", 0x848af791,
1973                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
1974    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0xda3bacdc,
1975                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
1976    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0x649d5cbd,
1977                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
1978    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t4, $t1", "ac2", 0xc0c8c881,
1979                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
1980    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0x7dd81a20,
1981                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
1982    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0x7fff7fff,
1983                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
1984    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0x00000555,
1985                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
1986    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0x00000000,
1987                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
1988    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t4, $t5", "ac3", 0x80000000,
1989                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
1990    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0x55555555,
1991                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
1992    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t0, $t8", "ac2", 0xffff8000,
1993                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
1994    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t0, $t1", "ac0", 0xabababab,
1995                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
1996    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
1997                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
1998    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac2, $t4, $t1", "ac2", 0x00000000,
1999                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2000    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac3, $t6, $t7", "ac3", 0x00354565,
2001                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2002    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac0, $t5, $t3", "ac0", 0x00086755,
2003                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2004    TESTDSPINST_AC_RS_RT_DSPC("dpaq_sa.l.w $ac1, $t2, $t4", "ac1", 0xffff8000,
2005                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2006 
2007 
2008    printf("-------- DPAU.H.QBL --------\n");
2009    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t4, $t5", "ac3", 0x00000000,
2010                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
2011    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0x00000004,
2012                                1073741824, 0x00000000, 0x00000006, t0, t1);
2013    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0x80002435,
2014                                0x80003421, 0x00000000, 1073741824, t2, t3);
2015    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0x76548000,
2016                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2017    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0x80000000,
2018                                0x80000000, 0x00000000, 0x00000001, t5, t3);
2019    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0x00010001,
2020                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2021    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2022                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2023    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0x0000c420,
2024                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2025    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0x00000000,
2026                                0x00000000, 0x00000000, 0x55555555, t2, t3);
2027    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t4, $t1", "ac2", 0x80000000,
2028                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2029    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2030                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
2031    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0x00000018,
2032                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2033    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0xbabababa,
2034                                0xabababab, 0x00000000, 0x00000000, t2, t4);
2035    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2036                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2037    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t4, $t5", "ac3", 0xfbde3976,
2038                                0x00000000, 0x00000000, 0x12349876, t4, t5);
2039    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0x23534870,
2040                                0x00354565, 0x00000000, 0x00354565, t0, t1);
2041    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0x980b7cde,
2042                                0x00086755, 0x00000000, 0x00086755, t2, t3);
2043    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t4, $t1", "ac2", 0x00000018,
2044                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2045    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0x92784656,
2046                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2047    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0xcacacaca,
2048                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2049    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0xbacabaca,
2050                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2051    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2052                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2053    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t4, $t5", "ac3", 0x7c000790,
2054                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2055    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0xffffffff,
2056                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2057    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0x24a3291e,
2058                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2059    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2060                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2061    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2062                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2063    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2064                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2065    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0xa617cc31,
2066                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2067    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2068                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2069    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0x31458a23,
2070                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2071    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t4, $t5", "ac3", 0x848af791,
2072                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2073    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2074                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2075    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2076                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2077    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2078                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2079    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2080                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2081    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2082                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2083    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0x00000555,
2084                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2085    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0x00000000,
2086                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2087    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t4, $t5", "ac3", 0x80000000,
2088                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2089    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0x55555555,
2090                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2091    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t0, $t8", "ac2", 0xffff8000,
2092                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2093    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t0, $t1", "ac0", 0xabababab,
2094                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
2095    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2096                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2097    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac2, $t4, $t1", "ac2", 0x00000000,
2098                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2099    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac3, $t6, $t7", "ac3", 0x00354565,
2100                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2101    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac0, $t5, $t3", "ac0", 0x00086755,
2102                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2103    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbl $ac1, $t2, $t4", "ac1", 0xffff8000,
2104                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2105 
2106    printf("-------- DPAU.H.QBR --------\n");
2107    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t4, $t5", "ac3", 0x00000000,
2108                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
2109    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0x00000004,
2110                                1073741824, 0x00000000, 0x00000006, t0, t1);
2111    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0x80002435,
2112                                0x80003421, 0x00000000, 1073741824, t2, t3);
2113    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0x76548000,
2114                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2115    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0x80000000,
2116                                0x80000000, 0x00000000, 0x00000001, t5, t3);
2117    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0x00010001,
2118                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2119    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2120                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2121    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0x0000c420,
2122                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2123    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0x00000000,
2124                                0x00000000, 0x00000000, 0x55555555, t2, t3);
2125    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t4, $t1", "ac2", 0x80000000,
2126                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2127    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2128                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
2129    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0x00000018,
2130                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2131    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0xbabababa,
2132                                0xabababab, 0x00000000, 0x00000000, t2, t4);
2133    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2134                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2135    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t4, $t5", "ac3", 0xfbde3976,
2136                                0x00000000, 0x00000000, 0x12349876, t4, t5);
2137    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0x23534870,
2138                                0x00354565, 0x00000000, 0x00354565, t0, t1);
2139    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0x980b7cde,
2140                                0x00086755, 0x00000000, 0x00086755, t2, t3);
2141    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t4, $t1", "ac2", 0x00000018,
2142                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2143    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0x92784656,
2144                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2145    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0xcacacaca,
2146                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2147    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0xbacabaca,
2148                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2149    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2150                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2151    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t4, $t5", "ac3", 0x7c000790,
2152                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2153    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0xffffffff,
2154                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2155    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0x24a3291e,
2156                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2157    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2158                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2159    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2160                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2161    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2162                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2163    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0xa617cc31,
2164                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2165    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2166                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2167    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0x31458a23,
2168                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2169    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t4, $t5", "ac3", 0x848af791,
2170                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2171    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2172                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2173    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2174                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2175    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2176                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2177    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2178                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2179    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2180                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2181    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0x00000555,
2182                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2183    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0x00000000,
2184                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2185    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t4, $t5", "ac3", 0x80000000,
2186                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2187    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0x55555555,
2188                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2189    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t0, $t8", "ac2", 0xffff8000,
2190                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2191    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t0, $t1", "ac0", 0xabababab,
2192                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
2193    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2194                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2195    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac2, $t4, $t1", "ac2", 0x00000000,
2196                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2197    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac3, $t6, $t7", "ac3", 0x00354565,
2198                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2199    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac0, $t5, $t3", "ac0", 0x00086755,
2200                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2201    TESTDSPINST_AC_RS_RT_NODSPC("dpau.h.qbr $ac1, $t2, $t4", "ac1", 0xffff8000,
2202                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2203 
2204    printf("-------- DPSQ_S.W.PH --------\n");
2205    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
2206                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
2207    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
2208                              1073741824, 0x00000000, 0x00000006, t0, t1);
2209    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
2210                              0x80003421, 0x00000000, 1073741824, t2, t3);
2211    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
2212                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2213    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
2214                              0x80000000, 0x00000000, 0x00000001, t5, t3);
2215    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
2216                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2217    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2218                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2219    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
2220                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2221    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
2222                              0x00000000, 0x00000000, 0x55555555, t2, t3);
2223    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
2224                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2225    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2226                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
2227    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
2228                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2229    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
2230                              0xabababab, 0x00000000, 0x00000000, t2, t4);
2231    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2232                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2233    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
2234                              0x00000000, 0x00000000, 0x12349876, t4, t5);
2235    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
2236                              0x00354565, 0x00000000, 0x00354565, t0, t1);
2237    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
2238                              0x00086755, 0x00000000, 0x00086755, t2, t3);
2239    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
2240                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2241    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
2242                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2243    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
2244                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2245    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
2246                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2247    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2248                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2249    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
2250                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2251    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
2252                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2253    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
2254                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2255    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2256                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2257    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2258                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2259    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2260                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2261    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
2262                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2263    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2264                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2265    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
2266                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2267    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
2268                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2269    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2270                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2271    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2272                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2273    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2274                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2275    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2276                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2277    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2278                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2279    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
2280                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2281    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
2282                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2283    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
2284                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2285    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
2286                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2287    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
2288                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2289    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
2290                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
2291    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2292                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2293    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
2294                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2295    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
2296                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2297    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
2298                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2299    TESTDSPINST_AC_RS_RT_DSPC("dpsq_s.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
2300                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2301 
2302 
2303    printf("-------- DPSQ_SA.L.W --------\n");
2304    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t4, $t5", "ac3", 0x00000000,
2305                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
2306    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0x00000004,
2307                              1073741824, 0x00000000, 0x00000006, t0, t1);
2308    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0x80002435,
2309                              0x80003421, 0x00000000, 1073741824, t2, t3);
2310    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0x76548000,
2311                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2312    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0x80000000,
2313                              0x80000000, 0x00000000, 0x00000001, t5, t3);
2314    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0x00010001,
2315                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2316    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2317                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2318    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0x0000c420,
2319                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2320    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0x00000000,
2321                              0x00000000, 0x00000000, 0x55555555, t2, t3);
2322    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t4, $t1", "ac2", 0x80000000,
2323                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2324    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2325                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
2326    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0x00000018,
2327                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2328    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0xbabababa,
2329                              0xabababab, 0x00000000, 0x00000000, t2, t4);
2330    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2331                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2332    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t4, $t5", "ac3", 0xfbde3976,
2333                              0x00000000, 0x00000000, 0x12349876, t4, t5);
2334    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0x23534870,
2335                              0x00354565, 0x00000000, 0x00354565, t0, t1);
2336    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0x980b7cde,
2337                              0x00086755, 0x00000000, 0x00086755, t2, t3);
2338    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t4, $t1", "ac2", 0x00000018,
2339                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2340    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0x92784656,
2341                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2342    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0xcacacaca,
2343                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2344    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0xbacabaca,
2345                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2346    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2347                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2348    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t4, $t5", "ac3", 0x7c000790,
2349                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2350    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0xffffffff,
2351                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2352    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0x24a3291e,
2353                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2354    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2355                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2356    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2357                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2358    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2359                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2360    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0xa617cc31,
2361                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2362    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2363                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2364    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0x31458a23,
2365                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2366    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t4, $t5", "ac3", 0x848af791,
2367                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2368    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2369                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2370    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2371                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2372    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2373                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2374    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2375                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2376    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2377                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2378    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0x00000555,
2379                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2380    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0x00000000,
2381                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2382    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t4, $t5", "ac3", 0x80000000,
2383                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2384    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0x55555555,
2385                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2386    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t0, $t8", "ac2", 0xffff8000,
2387                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2388    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t0, $t1", "ac0", 0xabababab,
2389                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
2390    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2391                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2392    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac2, $t4, $t1", "ac2", 0x00000000,
2393                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2394    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac3, $t6, $t7", "ac3", 0x00354565,
2395                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2396    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac0, $t5, $t3", "ac0", 0x00086755,
2397                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2398    TESTDSPINST_AC_RS_RT_DSPC("dpsq_sa.l.w $ac1, $t2, $t4", "ac1", 0xffff8000,
2399                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2400 
2401 
2402    printf("-------- DPSU.H.QBL --------\n");
2403    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t4, $t5", "ac3", 0x00000000,
2404                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
2405    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0x00000004,
2406                                1073741824, 0x00000000, 0x00000006, t0, t1);
2407    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0x80002435,
2408                                0x80003421, 0x00000000, 1073741824, t2, t3);
2409    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0x76548000,
2410                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2411    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0x80000000,
2412                                0x80000000, 0x00000000, 0x00000001, t5, t3);
2413    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0x00010001,
2414                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2415    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2416                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2417    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0x0000c420,
2418                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2419    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0x00000000,
2420                                0x00000000, 0x00000000, 0x55555555, t2, t3);
2421    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t4, $t1", "ac2", 0x80000000,
2422                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2423    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2424                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
2425    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0x00000018,
2426                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2427    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0xbabababa,
2428                                0xabababab, 0x00000000, 0x00000000, t2, t4);
2429    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2430                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2431    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t4, $t5", "ac3", 0xfbde3976,
2432                                0x00000000, 0x00000000, 0x12349876, t4, t5);
2433    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0x23534870,
2434                                0x00354565, 0x00000000, 0x00354565, t0, t1);
2435    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0x980b7cde,
2436                                0x00086755, 0x00000000, 0x00086755, t2, t3);
2437    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t4, $t1", "ac2", 0x00000018,
2438                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2439    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0x92784656,
2440                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2441    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0xcacacaca,
2442                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2443    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0xbacabaca,
2444                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2445    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2446                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2447    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t4, $t5", "ac3", 0x7c000790,
2448                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2449    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0xffffffff,
2450                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2451    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0x24a3291e,
2452                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2453    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2454                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2455    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2456                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2457    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2458                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2459    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0xa617cc31,
2460                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2461    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2462                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2463    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0x31458a23,
2464                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2465    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t4, $t5", "ac3", 0x848af791,
2466                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2467    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2468                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2469    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2470                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2471    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2472                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2473    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2474                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2475    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2476                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2477    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0x00000555,
2478                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2479    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0x00000000,
2480                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2481    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t4, $t5", "ac3", 0x80000000,
2482                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2483    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0x55555555,
2484                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2485    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t0, $t8", "ac2", 0xffff8000,
2486                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2487    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t0, $t1", "ac0", 0xabababab,
2488                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
2489    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2490                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2491    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac2, $t4, $t1", "ac2", 0x00000000,
2492                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2493    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac3, $t6, $t7", "ac3", 0x00354565,
2494                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2495    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac0, $t5, $t3", "ac0", 0x00086755,
2496                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2497    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbl $ac1, $t2, $t4", "ac1", 0xffff8000,
2498                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2499 
2500    printf("-------- DPSU.H.QBR --------\n");
2501    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t4, $t5", "ac3", 0x00000000,
2502                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
2503    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0x00000004,
2504                                1073741824, 0x00000000, 0x00000006, t0, t1);
2505    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0x80002435,
2506                                0x80003421, 0x00000000, 1073741824, t2, t3);
2507    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0x76548000,
2508                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
2509    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0x80000000,
2510                                0x80000000, 0x00000000, 0x00000001, t5, t3);
2511    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0x00010001,
2512                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
2513    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0x7fff7fff,
2514                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
2515    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0x0000c420,
2516                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
2517    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0x00000000,
2518                                0x00000000, 0x00000000, 0x55555555, t2, t3);
2519    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t4, $t1", "ac2", 0x80000000,
2520                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
2521    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
2522                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
2523    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0x00000018,
2524                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
2525    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0xbabababa,
2526                                0xabababab, 0x00000000, 0x00000000, t2, t4);
2527    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
2528                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
2529    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t4, $t5", "ac3", 0xfbde3976,
2530                                0x00000000, 0x00000000, 0x12349876, t4, t5);
2531    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0x23534870,
2532                                0x00354565, 0x00000000, 0x00354565, t0, t1);
2533    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0x980b7cde,
2534                                0x00086755, 0x00000000, 0x00086755, t2, t3);
2535    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t4, $t1", "ac2", 0x00000018,
2536                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
2537    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0x92784656,
2538                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
2539    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0xcacacaca,
2540                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
2541    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0xbacabaca,
2542                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
2543    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0x12fadeb4,
2544                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
2545    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t4, $t5", "ac3", 0x7c000790,
2546                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
2547    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0xffffffff,
2548                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
2549    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0x24a3291e,
2550                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
2551    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0xdd91eebf,
2552                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
2553    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
2554                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
2555    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0xbc1083e8,
2556                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
2557    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0xa617cc31,
2558                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
2559    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
2560                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
2561    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0x31458a23,
2562                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
2563    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t4, $t5", "ac3", 0x848af791,
2564                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
2565    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0xda3bacdc,
2566                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
2567    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0x649d5cbd,
2568                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
2569    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t4, $t1", "ac2", 0xc0c8c881,
2570                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
2571    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0x7dd81a20,
2572                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
2573    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0x7fff7fff,
2574                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
2575    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0x00000555,
2576                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
2577    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0x00000000,
2578                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
2579    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t4, $t5", "ac3", 0x80000000,
2580                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
2581    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0x55555555,
2582                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
2583    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t0, $t8", "ac2", 0xffff8000,
2584                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
2585    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t0, $t1", "ac0", 0xabababab,
2586                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
2587    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
2588                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
2589    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac2, $t4, $t1", "ac2", 0x00000000,
2590                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
2591    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac3, $t6, $t7", "ac3", 0x00354565,
2592                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
2593    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac0, $t5, $t3", "ac0", 0x00086755,
2594                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
2595    TESTDSPINST_AC_RS_RT_NODSPC("dpsu.h.qbr $ac1, $t2, $t4", "ac1", 0xffff8000,
2596                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
2597 
2598    printf("-------- EXTP --------\n");
2599    TESTDSPINST_EXT("extp $t1, $ac0, 31", "ac0", t1, 0x80000000, 0x80000000, 31,
2600                    42);
2601    TESTDSPINST_EXT("extp $t2, $ac1, 17", "ac1", t2, (1<<31)+1, (1 <<31)+2, 17,
2602                    31);
2603    TESTDSPINST_EXT("extp $t3, $ac2,  4", "ac2", t3, 0x00000000, 0x00000006,  4,
2604                    55);
2605    TESTDSPINST_EXT("extp $t4, $ac3, 12", "ac3", t4, 0x00000004, 1073741824, 12,
2606                    22);
2607    TESTDSPINST_EXT("extp $t5, $ac0,  3", "ac0", t5, 0x7fffffff, 0x7fffffff,  3,
2608                    63);
2609    TESTDSPINST_EXT("extp $t6, $ac1,  8", "ac1", t6, 0xffffffff, 0x00000001,  8,
2610                    13);
2611    TESTDSPINST_EXT("extp $t7, $ac2, 16", "ac2", t7, 0x00000001, 0xffffffff, 16,
2612                    60);
2613    TESTDSPINST_EXT("extp $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0xffffffff, 22,
2614                    22);
2615    TESTDSPINST_EXT("extp $t0, $ac0,  9", "ac0", t0, 0x0000cdfe, 0x0fde3126,  9,
2616                    18);
2617    TESTDSPINST_EXT("extp $t2, $ac2, 16", "ac2", t2, 0x00000018, 0xffff2435, 16,
2618                    30);
2619    TESTDSPINST_EXT("extp $t3, $ac3,  6", "ac3", t3, 0xbabababa, 0xabababab,  6,
2620                    17);
2621    TESTDSPINST_EXT("extp $t4, $ac0, 13", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2, 13,
2622                    32);
2623    TESTDSPINST_EXT("extp $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000, 19,
2624                    20);
2625    TESTDSPINST_EXT("extp $t6, $ac2, 27", "ac2", t6, 0xfbde3976, 0x00000000, 27,
2626                    30);
2627    TESTDSPINST_EXT("extp $t7, $ac3,  7", "ac3", t7, 0xb0ed7654, 0x12349876,  7,
2628                    32);
2629    TESTDSPINST_EXT("extp $t8, $ac0, 11", "ac0", t8, 0x23534870, 0x35004565, 11,
2630                    37);
2631    TESTDSPINST_EXT("extp $t0, $ac1, 26", "ac1", t0, 0x980b7cde, 0x86700055, 26,
2632                    61);
2633    TESTDSPINST_EXT("extp $t1, $ac2, 15", "ac2", t1, 0x00000018, 0x8f8f8f8f, 15,
2634                    28);
2635    TESTDSPINST_EXT("extp $t2, $ac3,  2", "ac3", t2, 0x92784656, 0xeeeeeeee,  2,
2636                    14);
2637    TESTDSPINST_EXT("extp $t3, $ac0,  1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,  1,
2638                    58);
2639    TESTDSPINST_EXT("extp $t4, $ac1,  0", "ac1", t4, 0xbacabaca, 0xdecadeca,  0,
2640                    19);
2641 
2642    printf("-------- EXTPDP --------\n");
2643    TESTDSPINST_EXT("extpdp $t1, $ac0, 31", "ac0", t1, 0x80000000, 0x80000000,
2644                    31, 42);
2645    TESTDSPINST_EXT("extpdp $t2, $ac1, 17", "ac1", t2, (1<<31)+1, (1<<31)+2, 17,
2646                    31);
2647    TESTDSPINST_EXT("extpdp $t3, $ac2,  4", "ac2", t3, 0x00000000, 0x00000006,
2648                     4, 55);
2649    TESTDSPINST_EXT("extpdp $t4, $ac3, 12", "ac3", t4, 0x00000004, 1073741824,
2650                    12, 22);
2651    TESTDSPINST_EXT("extpdp $t5, $ac0,  3", "ac0", t5, 0x7fffffff, 0x7fffffff,
2652                     3, 63);
2653    TESTDSPINST_EXT("extpdp $t6, $ac1,  8", "ac1", t6, 0xffffffff, 0x00000001,
2654                     8, 13);
2655    TESTDSPINST_EXT("extpdp $t7, $ac2, 16", "ac2", t7, 0x00000001, 0xffffffff,
2656                    16, 60);
2657    TESTDSPINST_EXT("extpdp $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0xffffffff,
2658                    22, 22);
2659    TESTDSPINST_EXT("extpdp $t0, $ac0,  9", "ac0", t0, 0x0000cdfe, 0x0fde3126,
2660                     9, 18);
2661    TESTDSPINST_EXT("extpdp $t3, $ac3,  6", "ac3", t3, 0xbabababa, 0xabababab,
2662                     6, 17);
2663    TESTDSPINST_EXT("extpdp $t4, $ac0, 13", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
2664                    13, 32);
2665    TESTDSPINST_EXT("extpdp $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000,
2666                    19, 20);
2667    TESTDSPINST_EXT("extpdp $t6, $ac2, 27", "ac2", t6, 0xfbde3976, 0x00000000,
2668                    27, 30);
2669    TESTDSPINST_EXT("extpdp $t7, $ac3,  7", "ac3", t7, 0x0bed7654, 0x12349876,
2670                     7, 32);
2671    TESTDSPINST_EXT("extpdp $t8, $ac0, 11", "ac0", t8, 0x23534870, 0x00354565,
2672                    11, 37);
2673    TESTDSPINST_EXT("extpdp $t0, $ac1, 26", "ac1", t0, 0x980b7cde, 0x00086755,
2674                    26, 61);
2675    TESTDSPINST_EXT("extpdp $t1, $ac2, 15", "ac2", t1, 0x00000018, 0x8f8f8f8f,
2676                    15, 28);
2677    TESTDSPINST_EXT("extpdp $t2, $ac3,  2", "ac3", t2, 0x92784656, 0xeeeeeeee,
2678                     2, 14);
2679    TESTDSPINST_EXT("extpdp $t3, $ac0,  1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
2680                     1, 58);
2681    TESTDSPINST_EXT("extpdp $t4, $ac1,  0", "ac1", t4, 0xbacabaca, 0xdecadeca,
2682                     0, 19);
2683 
2684    printf("-------- EXTPDPV --------\n");
2685    TESTDSPINST_EXTV("extpdpv $t1, $ac0, $t2", "ac0", t1, 0x80000000, 0x80000000,
2686                     t2, 0x80000000, 42);
2687    TESTDSPINST_EXTV("extpdpv $t2, $ac1, $t3", "ac1", t2, (1<<31)+1, (1<<31)+2,
2688                     t3, 0x06, 31);
2689    TESTDSPINST_EXTV("extpdpv $t3, $ac2, $t4", "ac2", t3, 0x00000000, 0x00000006,
2690                     t4, 0x7fffffff, 55);
2691    TESTDSPINST_EXTV("extpdpv $t5, $ac0, $t6", "ac0", t5, 0x7fffffff, 0x7fffffff,
2692                     t6, 0x0fde3126, 63);
2693    TESTDSPINST_EXTV("extpdpv $t7, $ac2, $t8", "ac2", t7, 0x00000001, 0xffffffff,
2694                     t8, 0xaaaaaaaa, 60);
2695    TESTDSPINST_EXTV("extpdpv $t8, $ac3, $t9", "ac3", t8, 0xffffffff, 0xffffffff,
2696                     t9, 0xffff2435, 22);
2697    TESTDSPINST_EXTV("extpdpv $t4, $ac0, $t3", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
2698                     t3, 0x12349876, 32);
2699    TESTDSPINST_EXTV("extpdpv $t5, $ac1, $t4", "ac1", t5, 0x00000000, 0x00000000,
2700                     t4, 0x00354565, 20);
2701    TESTDSPINST_EXTV("extpdpv $t6, $ac2, $t5", "ac2", t6, 0xfbde3976, 0x00000000,
2702                     t5, 0x00086755, 30);
2703    TESTDSPINST_EXTV("extpdpv $t7, $ac3, $t6", "ac3", t7, 0x0bed7654, 0x12349876,
2704                     t6, 0x00000018, 32);
2705    TESTDSPINST_EXTV("extpdpv $t8, $ac0, $t7", "ac0", t8, 0x23534870, 0x00354565,
2706                     t7, 0x23534870, 37);
2707    TESTDSPINST_EXTV("extpdpv $t0, $ac1, $t8", "ac1", t0, 0x980b7cde, 0x00086755,
2708                     t8, 0x92784656, 61);
2709    TESTDSPINST_EXTV("extpdpv $t1, $ac2, $t9", "ac2", t1, 0x00000018, 0x8f8f8f8f,
2710                     t9, 0xeeeeeeee, 28);
2711    TESTDSPINST_EXTV("extpdpv $t2, $ac3, $t1", "ac3", t2, 0x92784656, 0xeeeeeeee,
2712                     t1, 0xcacacaca, 14);
2713    TESTDSPINST_EXTV("extpdpv $t3, $ac0, $t1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
2714                     t1, 0xbacabaca, 58);
2715    TESTDSPINST_EXTV("extpdpv $t4, $ac1, $t4", "ac1", t4, 0xbacabaca, 0xdecadeca,
2716                     t4, 0x1bdbdbdb, 19);
2717 
2718    printf("-------- EXTPV --------\n");
2719    TESTDSPINST_EXTV("extpv $t1, $ac0, $t2", "ac0", t1, 0x80000000, 0x80000000,
2720                     t2, 0x80000000, 42);
2721    TESTDSPINST_EXTV("extpv $t2, $ac1, $t3", "ac1", t2, (1<<31)+1, (1<<31)+2, t3,
2722                     0x06, 31);
2723    TESTDSPINST_EXTV("extpv $t3, $ac2, $t4", "ac2", t3, 0x00000000, 0x00000006,
2724                     t4, 0x7fffffff, 55);
2725    TESTDSPINST_EXTV("extpv $t5, $ac0, $t6", "ac0", t5, 0x7fffffff, 0x7fffffff,
2726                     t6, 0x0fde3126, 63);
2727    TESTDSPINST_EXTV("extpv $t7, $ac2, $t8", "ac2", t7, 0x00000001, 0xffffffff,
2728                     t8, 0xaaaaaaaa, 60);
2729    TESTDSPINST_EXTV("extpv $t8, $ac3, $t9", "ac3", t8, 0xffffffff, 0xffffffff,
2730                     t9, 0xffff2435, 22);
2731    TESTDSPINST_EXTV("extpv $t4, $ac0, $t3", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
2732                     t3, 0x12349876, 32);
2733    TESTDSPINST_EXTV("extpv $t5, $ac1, $t4", "ac1", t5, 0x00000000, 0x00000000,
2734                     t4, 0x00354565, 20);
2735    TESTDSPINST_EXTV("extpv $t6, $ac2, $t5", "ac2", t6, 0xfbde3976, 0x00000000,
2736                     t5, 0x00086755, 30);
2737    TESTDSPINST_EXTV("extpv $t7, $ac3, $t6", "ac3", t7, 0x0bed7654, 0x12349876,
2738                     t6, 0x00000018, 32);
2739    TESTDSPINST_EXTV("extpv $t8, $ac0, $t7", "ac0", t8, 0x23534870, 0x00354565,
2740                     t7, 0x23534870, 37);
2741    TESTDSPINST_EXTV("extpv $t0, $ac1, $t8", "ac1", t0, 0x980b7cde, 0x00086755,
2742                     t8, 0x92784656, 61);
2743    TESTDSPINST_EXTV("extpv $t1, $ac2, $t9", "ac2", t1, 0x00000018, 0x8f8f8f8f,
2744                     t9, 0xeeeeeeee, 28);
2745    TESTDSPINST_EXTV("extpv $t2, $ac3, $t1", "ac3", t2, 0x92784656, 0xeeeeeeee,
2746                     t1, 0xcacacaca, 14);
2747    TESTDSPINST_EXTV("extpv $t3, $ac0, $t1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
2748                     t1, 0xbacabaca, 58);
2749    TESTDSPINST_EXTV("extpv $t4, $ac1, $t4", "ac1", t4, 0xbacabaca, 0xdecadeca,
2750                     t4, 0x1bdbdbdb, 19);
2751 
2752    printf("-------- EXTR_S.H --------\n");
2753    TESTDSPINST_EXT("extr_s.h $t4, $ac3,  0", "ac3", t4, 0x00000000, 0x00000000,
2754                    0, 0);
2755    TESTDSPINST_EXT("extr_s.h $t5, $ac0, 31", "ac0", t5, 0x7fffffff, 0xcbcdef01,
2756                    31, 0);
2757    TESTDSPINST_EXT("extr_s.h $t6, $ac1, 31", "ac1", t6, 0x3fffffff, 0x2bcdef01,
2758                    31, 0);
2759    TESTDSPINST_EXT("extr_s.h $t7, $ac2,  0", "ac2", t7, 0xff34bc6f, 0xffffffff,
2760                    0, 0);
2761    TESTDSPINST_EXT("extr_s.h $t8, $ac3,  1", "ac3", t8, 0x00000000, 0xfffffffe,
2762                    1, 0);
2763    TESTDSPINST_EXT("extr_s.h $t1, $ac0, 31", "ac0", t1, 0x80000000, 0x80000000,
2764                    31, 0);
2765    TESTDSPINST_EXT("extr_s.h $t2, $ac1, 17", "ac1", t2, (1<<31)+1, (1<<31)+2,
2766                    17, 0);
2767    TESTDSPINST_EXT("extr_s.h $t3, $ac2,  4", "ac2", t3, 0x00000000, 0x00000006,
2768                    4, 0);
2769    TESTDSPINST_EXT("extr_s.h $t4, $ac3, 12", "ac3", t4, 0x00000004, 1073741824,
2770                    12, 0);
2771    TESTDSPINST_EXT("extr_s.h $t5, $ac0,  3", "ac0", t5, 0x7fffffff, 0x7fffffff,
2772                    3, 0);
2773    TESTDSPINST_EXT("extr_s.h $t6, $ac1,  8", "ac1", t6, 0xffffffff, 0x00000001,
2774                    8, 0);
2775    TESTDSPINST_EXT("extr_s.h $t7, $ac2, 16", "ac2", t7, 0x00000001, 0xffffffff,
2776                    16, 0);
2777    TESTDSPINST_EXT("extr_s.h $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0xffffffff,
2778                    22, 0);
2779    TESTDSPINST_EXT("extr_s.h $t0, $ac0,  9", "ac0", t0, 0x0000cdfe, 0x0fde3126,
2780                    9, 0);
2781    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 14", "ac2", t2, 0x00000018, 0xffff2435,
2782                    14, 0);
2783    TESTDSPINST_EXT("extr_s.h $t1, $ac1, 20", "ac1", t1, 0xaaaaaaaa, 0x55555555,
2784                    20, 0);
2785    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 16", "ac2", t2, 0x00000018, 0xffff2435,
2786                    16, 0);
2787    TESTDSPINST_EXT("extr_s.h $t1, $ac1,  5", "ac1", t1, 0xaaaaaaaa, 0x55555555,
2788                    5, 0);
2789    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 22", "ac2", t2, 0x00000018, 0xffff2435,
2790                    22, 0);
2791    TESTDSPINST_EXT("extr_s.h $t3, $ac3,  6", "ac3", t3, 0xbabababa, 0xabababab,
2792                    6, 0);
2793    TESTDSPINST_EXT("extr_s.h $t4, $ac0, 13", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
2794                    13, 0);
2795    TESTDSPINST_EXT("extr_s.h $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000,
2796                    19, 0);
2797    TESTDSPINST_EXT("extr_s.h $t6, $ac2, 27", "ac2", t6, 0xfbde3976, 0x00000000,
2798                    27, 0);
2799    TESTDSPINST_EXT("extr_s.h $t7, $ac3,  7", "ac3", t7, 0x0bed7654, 0x12349876,
2800                    7, 0);
2801    TESTDSPINST_EXT("extr_s.h $t8, $ac0, 11", "ac0", t8, 0x23534870, 0x00354565,
2802                    11, 0);
2803    TESTDSPINST_EXT("extr_s.h $t0, $ac1, 26", "ac1", t0, 0x980b7cde, 0x00086755,
2804                    26, 0);
2805    TESTDSPINST_EXT("extr_s.h $t1, $ac2, 15", "ac2", t1, 0x00000018, 0x8f8f8f8f,
2806                    15, 0);
2807    TESTDSPINST_EXT("extr_s.h $t2, $ac3,  2", "ac3", t2, 0x92784656, 0xeeeeeeee,
2808                    2, 0);
2809    TESTDSPINST_EXT("extr_s.h $t3, $ac0,  1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
2810                    1, 0);
2811    TESTDSPINST_EXT("extr_s.h $t4, $ac1,  0", "ac1", t4, 0xbacabaca, 0xdecadeca,
2812                    0, 0);
2813    TESTDSPINST_EXT("extr_s.h $t5, $ac0,  3", "ac0", t5, 0x00000000, 0x5fc92974,
2814                    3, 0);
2815    TESTDSPINST_EXT("extr_s.h $t6, $ac1,  8", "ac1", t6, 0x00000000, 0x7e08184e,
2816                    8, 0);
2817    TESTDSPINST_EXT("extr_s.h $t7, $ac2, 16", "ac2", t7, 0x00000000, 0x71c8315f,
2818                    16, 0);
2819    TESTDSPINST_EXT("extr_s.h $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0x9493110e,
2820                    22, 0);
2821    TESTDSPINST_EXT("extr_s.h $t0, $ac0,  9", "ac0", t0, 0xffffffff, 0xbb246228,
2822                    9, 0);
2823    TESTDSPINST_EXT("extr_s.h $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x339d8d88,
2824                    5, 0);
2825    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 14", "ac2", t2, 0x00000000, 0x70974249,
2826                    14, 0);
2827    TESTDSPINST_EXT("extr_s.h $t1, $ac1, 20", "ac1", t1, 0xffffffff, 0x8a8d4e7d,
2828                    20, 0);
2829    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xeb1b4335,
2830                    16, 0);
2831    TESTDSPINST_EXT("extr_s.h $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x0cd6b508,
2832                    5, 0);
2833    TESTDSPINST_EXT("extr_s.h $t2, $ac2, 22", "ac2", t2, 0x00000000, 0x6731e282,
2834                    22, 0);
2835    TESTDSPINST_EXT("extr_s.h $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xb6edf28f,
2836                    6, 0);
2837    TESTDSPINST_EXT("extr_s.h $t4, $ac0, 13", "ac0", t4, 0x00000000, 0x4b4ec9ca,
2838                    13, 0);
2839    TESTDSPINST_EXT("extr_s.h $t5, $ac1, 19", "ac1", t5, 0xffffffff, 0xc1037fa4,
2840                    19, 0);
2841    TESTDSPINST_EXT("extr_s.h $t6, $ac2, 27", "ac2", t6, 0xffffffff, 0xcb4ab48f,
2842                    27, 0);
2843    TESTDSPINST_EXT("extr_s.h $t7, $ac3,  7", "ac3", t7, 0xffffffff, 0xaf8f7e18,
2844                    7, 0);
2845    TESTDSPINST_EXT("extr_s.h $t8, $ac0, 11", "ac0", t8, 0xffffffff, 0x87df4510,
2846                    11, 0);
2847    TESTDSPINST_EXT("extr_s.h $t0, $ac1, 26", "ac1", t0, 0xffffffff, 0xabf4e8e1,
2848                    26, 0);
2849    TESTDSPINST_EXT("extr_s.h $t1, $ac2, 15", "ac2", t1, 0xffffffff, 0xf4c0eeac,
2850                    15, 0);
2851    TESTDSPINST_EXT("extr_s.h $t2, $ac3,  2", "ac3", t2, 0x00000000, 0x006a54f2,
2852                    2, 0);
2853    TESTDSPINST_EXT("extr_s.h $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x79f74493,
2854                    1, 0);
2855    TESTDSPINST_EXT("extr_s.h $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0x9c09e313,
2856                    0, 0);
2857 
2858    printf("-------- EXTR.W --------\n");
2859    TESTDSPINST_EXT("extr.w $t4, $ac3,  0", "ac3", t4, 0x00000000, 0x00000000,
2860                    0, 0);
2861    TESTDSPINST_EXT("extr.w $t5, $ac0, 31", "ac0", t5, 0x7fffffff, 0xcbcdef01,
2862                    31, 0);
2863    TESTDSPINST_EXT("extr.w $t6, $ac1, 31", "ac1", t6, 0x3fffffff, 0x2bcdef01,
2864                    31, 0);
2865    TESTDSPINST_EXT("extr.w $t7, $ac2,  0", "ac2", t7, 0xffffffff, 0xffffffff,
2866                    0, 0);
2867    TESTDSPINST_EXT("extr.w $t8, $ac3,  1", "ac3", t8, 0x00000000, 0xfffffffe,
2868                    1, 0);
2869    TESTDSPINST_EXT("extr.w $t1, $ac0, 31", "ac0", t1, 0x80000000, 0x80000000,
2870                    31, 0);
2871    TESTDSPINST_EXT("extr.w $t2, $ac1, 17", "ac1", t2, (1<<31)+1, (1<<31)+2, 17,
2872                    0);
2873    TESTDSPINST_EXT("extr.w $t3, $ac2,  4", "ac2", t3, 0x00000000, 0x00000006,
2874                    4, 0);
2875    TESTDSPINST_EXT("extr.w $t4, $ac3, 12", "ac3", t4, 0x00000004, 1073741824,
2876                    12, 0);
2877    TESTDSPINST_EXT("extr.w $t5, $ac0,  3", "ac0", t5, 0x7fffffff, 0x7fffffff,
2878                    3, 0);
2879    TESTDSPINST_EXT("extr.w $t6, $ac1,  8", "ac1", t6, 0xffffffff, 0x00000001,
2880                    8, 0);
2881    TESTDSPINST_EXT("extr.w $t7, $ac2, 16", "ac2", t7, 0x00000001, 0xffffffff,
2882                    16, 0);
2883    TESTDSPINST_EXT("extr.w $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0xffffffff,
2884                    22, 0);
2885    TESTDSPINST_EXT("extr.w $t0, $ac0,  9", "ac0", t0, 0x0000cdfe, 0xfd0e3126,
2886                    9, 0);
2887    TESTDSPINST_EXT("extr.w $t2, $ac2, 14", "ac2", t2, 0x00000018, 0xffff2435,
2888                    14, 0);
2889    TESTDSPINST_EXT("extr.w $t1, $ac1, 20", "ac1", t1, 0xaaaaaaaa, 0x55555555,
2890                    20, 0);
2891    TESTDSPINST_EXT("extr.w $t2, $ac2, 16", "ac2", t2, 0x00000018, 0xffff2435,
2892                    16, 0);
2893    TESTDSPINST_EXT("extr.w $t1, $ac1,  5", "ac1", t1, 0xaaaaaaaa, 0x55555555,
2894                    5, 0);
2895    TESTDSPINST_EXT("extr.w $t2, $ac2, 22", "ac2", t2, 0x00000018, 0xffff2435,
2896                    22, 0);
2897    TESTDSPINST_EXT("extr.w $t3, $ac3,  6", "ac3", t3, 0xbabababa, 0xabababab,
2898                    6, 0);
2899    TESTDSPINST_EXT("extr.w $t4, $ac0, 13", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
2900                    13, 0);
2901    TESTDSPINST_EXT("extr.w $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000,
2902                    19, 0);
2903    TESTDSPINST_EXT("extr.w $t6, $ac2, 27", "ac2", t6, 0xfbde3976, 0x00000000,
2904                    27, 0);
2905    TESTDSPINST_EXT("extr.w $t7, $ac3,  7", "ac3", t7, 0x0bed7654, 0x12349876,
2906                    7, 0);
2907    TESTDSPINST_EXT("extr.w $t8, $ac0, 11", "ac0", t8, 0x23534870, 0x00354565,
2908                    11, 0);
2909    TESTDSPINST_EXT("extr.w $t0, $ac1, 26", "ac1", t0, 0x980b7cde, 0x80006755,
2910                    26, 0);
2911    TESTDSPINST_EXT("extr.w $t1, $ac2, 15", "ac2", t1, 0x00000018, 0x8f8f8f8f,
2912                    15, 0);
2913    TESTDSPINST_EXT("extr.w $t2, $ac3,  2", "ac3", t2, 0x92784656, 0xeeeeeeee,
2914                    2, 0);
2915    TESTDSPINST_EXT("extr.w $t3, $ac0,  1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
2916                    1, 0);
2917    TESTDSPINST_EXT("extr.w $t4, $ac1,  0", "ac1", t4, 0xbacabaca, 0xdecadeca,
2918                    0, 0);
2919    TESTDSPINST_EXT("extr.w $t5, $ac0,  3", "ac0", t5, 0x00000000, 0x5fc92974,
2920                    3, 0);
2921    TESTDSPINST_EXT("extr.w $t6, $ac1,  8", "ac1", t6, 0x00000000, 0x7e08184e,
2922                    8, 0);
2923    TESTDSPINST_EXT("extr.w $t7, $ac2, 16", "ac2", t7, 0x00000000, 0x71c8315f,
2924                    16, 0);
2925    TESTDSPINST_EXT("extr.w $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0x9493110e,
2926                    22, 0);
2927    TESTDSPINST_EXT("extr.w $t0, $ac0,  9", "ac0", t0, 0xffffffff, 0xbb246228,
2928                    9, 0);
2929    TESTDSPINST_EXT("extr.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x339d8d88,
2930                    5, 0);
2931    TESTDSPINST_EXT("extr.w $t2, $ac2, 14", "ac2", t2, 0x00000000, 0x70974249,
2932                    14, 0);
2933    TESTDSPINST_EXT("extr.w $t1, $ac1, 20", "ac1", t1, 0xffffffff, 0x8a8d4e7d,
2934                    20, 0);
2935    TESTDSPINST_EXT("extr.w $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xeb1b4335,
2936                    16, 0);
2937    TESTDSPINST_EXT("extr.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x0cd6b508,
2938                    5, 0);
2939    TESTDSPINST_EXT("extr.w $t2, $ac2, 22", "ac2", t2, 0x00000000, 0x6731e282,
2940                    22, 0);
2941    TESTDSPINST_EXT("extr.w $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xb6edf28f,
2942                    6, 0);
2943    TESTDSPINST_EXT("extr.w $t4, $ac0, 13", "ac0", t4, 0x00000000, 0x4b4ec9ca,
2944                    13, 0);
2945    TESTDSPINST_EXT("extr.w $t5, $ac1, 19", "ac1", t5, 0xffffffff, 0xc1037fa4,
2946                    19, 0);
2947    TESTDSPINST_EXT("extr.w $t6, $ac2, 27", "ac2", t6, 0xffffffff, 0xcb4ab48f,
2948                    27, 0);
2949    TESTDSPINST_EXT("extr.w $t7, $ac3,  7", "ac3", t7, 0xffffffff, 0xaf8f7e18,
2950                    7, 0);
2951    TESTDSPINST_EXT("extr.w $t8, $ac0, 11", "ac0", t8, 0xffffffff, 0x87df4510,
2952                    11, 0);
2953    TESTDSPINST_EXT("extr.w $t0, $ac1, 26", "ac1", t0, 0xffffffff, 0xabf4e8e1,
2954                    26, 0);
2955    TESTDSPINST_EXT("extr.w $t1, $ac2, 15", "ac2", t1, 0xffffffff, 0xf4c0eeac,
2956                    15, 0);
2957    TESTDSPINST_EXT("extr.w $t2, $ac3,  2", "ac3", t2, 0x00000000, 0x006a54f2,
2958                    2, 0);
2959    TESTDSPINST_EXT("extr.w $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x79f74493,
2960                    1, 0);
2961    TESTDSPINST_EXT("extr.w $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0x9c09e313,
2962                    0, 0);
2963 
2964    printf("-------- EXTR_R.W --------\n");
2965    TESTDSPINST_EXT("extr_r.w $t4, $ac3,  0", "ac3", t4, 0x00000000, 0x00000000,
2966                    0, 0);
2967    TESTDSPINST_EXT("extr_r.w $t5, $ac0, 31", "ac0", t5, 0x7fffffff, 0xcbcdef01,
2968                    31, 0);
2969    TESTDSPINST_EXT("extr_r.w $t6, $ac1, 31", "ac1", t6, 0x3fffffff, 0x2bcdef01,
2970                    31, 0);
2971    TESTDSPINST_EXT("extr_r.w $t7, $ac2,  0", "ac2", t7, 0x987b2fff, 0xffffffff,
2972                    0, 0);
2973    TESTDSPINST_EXT("extr_r.w $t8, $ac3,  1", "ac3", t8, 0x000cd320, 0xfffffffe,
2974                    1, 0);
2975    TESTDSPINST_EXT("extr_r.w $t1, $ac0, 31", "ac0", t1, 0xfff9b541, 0x80000000,
2976                    31, 0);
2977    TESTDSPINST_EXT("extr_r.w $t3, $ac2,  4", "ac2", t3, 0x0008b31c, 0x00000006,
2978                    4, 0);
2979    TESTDSPINST_EXT("extr_r.w $t5, $ac0,  3", "ac0", t5, 0x0086b3ad, 0x7fffffff,
2980                    3, 0);
2981    TESTDSPINST_EXT("extr_r.w $t6, $ac1,  8", "ac1", t6, 0x00097b51, 0x00000001,
2982                    8, 0);
2983    TESTDSPINST_EXT("extr_r.w $t7, $ac2, 16", "ac2", t7, 0xfcde43ff, 0xffffffff,
2984                    16, 0);
2985    TESTDSPINST_EXT("extr_r.w $t0, $ac0,  9", "ac0", t0, 0xffffca26, 0xfd0e3126,
2986                    9, 0);
2987    TESTDSPINST_EXT("extr_r.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x55555555,
2988                    5, 0);
2989    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 14", "ac2", t2, 0xffffffff, 0xffff2435,
2990                    14, 0);
2991    TESTDSPINST_EXT("extr_r.w $t1, $ac1, 20", "ac1", t1, 0x00000000, 0x55555555,
2992                    20, 0);
2993    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xffff2435,
2994                    16, 0);
2995    TESTDSPINST_EXT("extr_r.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x55555555,
2996                    5, 0);
2997    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 22", "ac2", t2, 0xffffffff, 0xffff2435,
2998                    22, 0);
2999    TESTDSPINST_EXT("extr_r.w $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xabababab,
3000                    6, 0);
3001    TESTDSPINST_EXT("extr_r.w $t4, $ac0, 13", "ac0", t4, 0xffffffff, 0xfc79b4d2,
3002                    13, 0);
3003    TESTDSPINST_EXT("extr_r.w $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000,
3004                    19, 0);
3005    TESTDSPINST_EXT("extr_r.w $t6, $ac2, 27", "ac2", t6, 0x00000000, 0x00000000,
3006                    27, 0);
3007    TESTDSPINST_EXT("extr_r.w $t7, $ac3,  7", "ac3", t7, 0x02934b00, 0x12349876,
3008                    7, 0);
3009    TESTDSPINST_EXT("extr_r.w $t8, $ac0, 11", "ac0", t8, 0x0008cad0, 0x00354565,
3010                    11, 0);
3011    TESTDSPINST_EXT("extr_r.w $t0, $ac1, 26", "ac1", t0, 0xf65c8fff, 0x80006755,
3012                    26, 0);
3013    TESTDSPINST_EXT("extr_r.w $t1, $ac2, 15", "ac2", t1, 0xfffff001, 0x8f8f8f8f,
3014                    15, 0);
3015    TESTDSPINST_EXT("extr_r.w $t2, $ac3,  2", "ac3", t2, 0xbad69420, 0xeeeeeeee,
3016                    2, 0);
3017    TESTDSPINST_EXT("extr_r.w $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x1bdbdbdb,
3018                    1, 0);
3019    TESTDSPINST_EXT("extr_r.w $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0xdecadeca,
3020                    0, 0);
3021    TESTDSPINST_EXT("extr_r.w $t5, $ac0,  3", "ac0", t5, 0x00000000, 0x5fc92974,
3022                    3, 0);
3023    TESTDSPINST_EXT("extr_r.w $t6, $ac1,  8", "ac1", t6, 0x00000000, 0x7e08184e,
3024                    8, 0);
3025    TESTDSPINST_EXT("extr_r.w $t7, $ac2, 16", "ac2", t7, 0x00000000, 0x71c8315f,
3026                    16, 0);
3027    TESTDSPINST_EXT("extr_r.w $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0x9493110e,
3028                    22, 0);
3029    TESTDSPINST_EXT("extr_r.w $t0, $ac0,  9", "ac0", t0, 0xffffffff, 0xbb246228,
3030                    9, 0);
3031    TESTDSPINST_EXT("extr_r.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x339d8d88,
3032                    5, 0);
3033    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 14", "ac2", t2, 0x00000000, 0x70974249,
3034                    14, 0);
3035    TESTDSPINST_EXT("extr_r.w $t1, $ac1, 20", "ac1", t1, 0xffffffff, 0x8a8d4e7d,
3036                    20, 0);
3037    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xeb1b4335,
3038                    16, 0);
3039    TESTDSPINST_EXT("extr_r.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x0cd6b508,
3040                    5, 0);
3041    TESTDSPINST_EXT("extr_r.w $t2, $ac2, 22", "ac2", t2, 0x00000000, 0x6731e282,
3042                    22, 0);
3043    TESTDSPINST_EXT("extr_r.w $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xb6edf28f,
3044                    6, 0);
3045    TESTDSPINST_EXT("extr_r.w $t4, $ac0, 13", "ac0", t4, 0x00000000, 0x4b4ec9ca,
3046                    13, 0);
3047    TESTDSPINST_EXT("extr_r.w $t5, $ac1, 19", "ac1", t5, 0xffffffff, 0xc1037fa4,
3048                    19, 0);
3049    TESTDSPINST_EXT("extr_r.w $t6, $ac2, 27", "ac2", t6, 0xffffffff, 0xcb4ab48f,
3050                    27, 0);
3051    TESTDSPINST_EXT("extr_r.w $t7, $ac3,  7", "ac3", t7, 0xffffffff, 0xaf8f7e18,
3052                    7, 0);
3053    TESTDSPINST_EXT("extr_r.w $t8, $ac0, 11", "ac0", t8, 0xffffffff, 0x87df4510,
3054                    11, 0);
3055    TESTDSPINST_EXT("extr_r.w $t0, $ac1, 26", "ac1", t0, 0xffffffff, 0xabf4e8e1,
3056                    26, 0);
3057    TESTDSPINST_EXT("extr_r.w $t1, $ac2, 15", "ac2", t1, 0xffffffff, 0xf4c0eeac,
3058                    15, 0);
3059    TESTDSPINST_EXT("extr_r.w $t2, $ac3,  2", "ac3", t2, 0x00000000, 0x006a54f2,
3060                    2, 0);
3061    TESTDSPINST_EXT("extr_r.w $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x79f74493,
3062                    1, 0);
3063    TESTDSPINST_EXT("extr_r.w $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0x9c09e313,
3064                    0, 0);
3065 
3066    printf("-------- EXTR_RS.W --------\n");
3067    TESTDSPINST_EXT("extr_rs.w $t4, $ac3,  0", "ac3", t4, 0x00000000, 0x00000000,
3068                    0, 0);
3069    TESTDSPINST_EXT("extr_rs.w $t5, $ac0, 31", "ac0", t5, 0x7fffffff, 0xcbcdef01,
3070                    31, 0);
3071    TESTDSPINST_EXT("extr_rs.w $t6, $ac1, 31", "ac1", t6, 0x3fffffff, 0x2bcdef01,
3072                    31, 0);
3073    TESTDSPINST_EXT("extr_rs.w $t7, $ac2,  0", "ac2", t7, 0x987b2fff, 0xffffffff,
3074                    0, 0);
3075    TESTDSPINST_EXT("extr_rs.w $t8, $ac3,  1", "ac3", t8, 0x000cd320, 0xfffffffe,
3076                    1, 0);
3077    TESTDSPINST_EXT("extr_rs.w $t3, $ac2,  4", "ac2", t3, 0xfff9b541, 0x80000000,
3078                    4, 0);
3079    TESTDSPINST_EXT("extr_rs.w $t5, $ac0,  3", "ac0", t5, 0x0008b31c, 0x00000006,
3080                    3, 0);
3081    TESTDSPINST_EXT("extr_rs.w $t6, $ac1,  8", "ac1", t6, 0x0086b3ad, 0x7fffffff,
3082                    8, 0);
3083    TESTDSPINST_EXT("extr_rs.w $t7, $ac2, 16", "ac2", t7, 0x00097b51, 0x00000001,
3084                    16, 0);
3085    TESTDSPINST_EXT("extr_rs.w $t8, $ac3, 22", "ac3", t8, 0xfcde43ff, 0xffffffff,
3086                    2, 0);
3087    TESTDSPINST_EXT("extr_rs.w $t0, $ac0,  9", "ac0", t0, 0xffffca26, 0xfd0e3126,
3088                    9, 0);
3089    TESTDSPINST_EXT("extr_rs.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x55555555,
3090                    5, 0);
3091    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 14", "ac2", t2, 0xffffffff, 0xffff2435,
3092                    14, 0);
3093    TESTDSPINST_EXT("extr_rs.w $t1, $ac1, 20", "ac1", t1, 0x00000000, 0x55555555,
3094                    0, 0);
3095    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xffff2435,
3096                    16, 0);
3097    TESTDSPINST_EXT("extr_rs.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x55555555,
3098                    5, 0);
3099    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 22", "ac2", t2, 0xffffffff, 0xffff2435,
3100                    22, 0);
3101    TESTDSPINST_EXT("extr_rs.w $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xabababab,
3102                    6, 0);
3103    TESTDSPINST_EXT("extr_rs.w $t4, $ac0, 13", "ac0", t4, 0xffffffff, 0xfc79b4d2,
3104                    13, 0);
3105    TESTDSPINST_EXT("extr_rs.w $t5, $ac1, 19", "ac1", t5, 0x00000000, 0x00000000,
3106                    19, 0);
3107    TESTDSPINST_EXT("extr_rs.w $t6, $ac2, 27", "ac2", t6, 0x00000000, 0x00000000,
3108                    27, 0);
3109    TESTDSPINST_EXT("extr_rs.w $t7, $ac3,  7", "ac3", t7, 0x02934b00, 0x12349876,
3110                    7, 0);
3111    TESTDSPINST_EXT("extr_rs.w $t8, $ac0, 11", "ac0", t8, 0x0008cad0, 0x00354565,
3112                    11, 0);
3113    TESTDSPINST_EXT("extr_rs.w $t0, $ac1, 26", "ac1", t0, 0xf65c8fff, 0x80006755,
3114                    26, 0);
3115    TESTDSPINST_EXT("extr_rs.w $t1, $ac2, 15", "ac2", t1, 0xfffff001, 0x8f8f8f8f,
3116                    15, 0);
3117    TESTDSPINST_EXT("extr_rs.w $t2, $ac3,  2", "ac3", t2, 0xbad69420, 0xeeeeeeee,
3118                    2, 0);
3119    TESTDSPINST_EXT("extr_rs.w $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x1bdbdbdb,
3120                    1, 0);
3121    TESTDSPINST_EXT("extr_rs.w $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0xdecadeca,
3122                    0, 0);
3123    TESTDSPINST_EXT("extr_rs.w $t5, $ac0,  3", "ac0", t5, 0x00000000, 0x5fc92974,
3124                    3, 0);
3125    TESTDSPINST_EXT("extr_rs.w $t6, $ac1,  8", "ac1", t6, 0x00000000, 0x7e08184e,
3126                    8, 0);
3127    TESTDSPINST_EXT("extr_rs.w $t7, $ac2, 16", "ac2", t7, 0x00000000, 0x71c8315f,
3128                    16, 0);
3129    TESTDSPINST_EXT("extr_rs.w $t8, $ac3, 22", "ac3", t8, 0xffffffff, 0x9493110e,
3130                    22, 0);
3131    TESTDSPINST_EXT("extr_rs.w $t0, $ac0,  9", "ac0", t0, 0xffffffff, 0xbb246228,
3132                    9, 0);
3133    TESTDSPINST_EXT("extr_rs.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x339d8d88,
3134                    5, 0);
3135    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 14", "ac2", t2, 0x00000000, 0x70974249,
3136                    14, 0);
3137    TESTDSPINST_EXT("extr_rs.w $t1, $ac1, 20", "ac1", t1, 0xffffffff, 0x8a8d4e7d,
3138                    20, 0);
3139    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 16", "ac2", t2, 0xffffffff, 0xeb1b4335,
3140                    16, 0);
3141    TESTDSPINST_EXT("extr_rs.w $t1, $ac1,  5", "ac1", t1, 0x00000000, 0x0cd6b508,
3142                    5, 0);
3143    TESTDSPINST_EXT("extr_rs.w $t2, $ac2, 22", "ac2", t2, 0x00000000, 0x6731e282,
3144                    22, 0);
3145    TESTDSPINST_EXT("extr_rs.w $t3, $ac3,  6", "ac3", t3, 0xffffffff, 0xb6edf28f,
3146                    6, 0);
3147    TESTDSPINST_EXT("extr_rs.w $t4, $ac0, 13", "ac0", t4, 0x00000000, 0x4b4ec9ca,
3148                    13, 0);
3149    TESTDSPINST_EXT("extr_rs.w $t5, $ac1, 19", "ac1", t5, 0xffffffff, 0xc1037fa4,
3150                    19, 0);
3151    TESTDSPINST_EXT("extr_rs.w $t6, $ac2, 27", "ac2", t6, 0xffffffff, 0xcb4ab48f,
3152                    27, 0);
3153    TESTDSPINST_EXT("extr_rs.w $t7, $ac3,  7", "ac3", t7, 0xffffffff, 0xaf8f7e18,
3154                    7, 0);
3155    TESTDSPINST_EXT("extr_rs.w $t8, $ac0, 11", "ac0", t8, 0xffffffff, 0x87df4510,
3156                    11, 0);
3157    TESTDSPINST_EXT("extr_rs.w $t0, $ac1, 26", "ac1", t0, 0xffffffff, 0xabf4e8e1,
3158                    26, 0);
3159    TESTDSPINST_EXT("extr_rs.w $t1, $ac2, 15", "ac2", t1, 0xffffffff, 0xf4c0eeac,
3160                    15, 0);
3161    TESTDSPINST_EXT("extr_rs.w $t2, $ac3,  2", "ac3", t2, 0x00000000, 0x006a54f2,
3162                    2, 0);
3163    TESTDSPINST_EXT("extr_rs.w $t3, $ac0,  1", "ac0", t3, 0x00000000, 0x79f74493,
3164                    1, 0);
3165    TESTDSPINST_EXT("extr_rs.w $t4, $ac1,  0", "ac1", t4, 0xffffffff, 0x9c09e313,
3166                    0, 0);
3167 
3168    printf("-------- EXTRV_S.H --------\n");
3169    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t3", "ac1", t1, 0x00000000,
3170                     0x00000000, t3, 0xbababa00, 0);
3171    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t4", "ac2", t2, 0x7fffffff,
3172                     0xcbcdef01, t4, 0xfbde391f, 0);
3173    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t7", "ac1", t1, 0x3fffffff,
3174                     0x2bcdef01, t7, 0x5555551f, 0);
3175    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t5", "ac2", t2, 0xffffffff,
3176                     0xffffffff, t5, 0x0000cd00, 0);
3177    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t2", "ac1", t1, 0x00000000,
3178                     0xfffffffe, t2, 0x80000001, 0);
3179    TESTDSPINST_EXTV("extrv_s.h $t2, $ac1, $t1", "ac1", t2, (1<<31)+1, (1<<31)+2,
3180                     t1, 0x12349876, 0);
3181    TESTDSPINST_EXTV("extrv_s.h $t1, $ac0, $t0", "ac0", t1, 0x80000000,
3182                     0x80000000, t0, 0x12349876, 0);
3183    TESTDSPINST_EXTV("extrv_s.h $t3, $ac2, $t2", "ac2", t3, 0x00000000,
3184                     0x00000006, t2, 0x00354565, 0);
3185    TESTDSPINST_EXTV("extrv_s.h $t4, $ac3, $t3", "ac3", t4, 0x00000004,
3186                     1073741824, t3, 0x00086755, 0);
3187    TESTDSPINST_EXTV("extrv_s.h $t5, $ac0, $t4", "ac0", t5, 0x7fffffff,
3188                     0x7fffffff, t4, 0x00000018, 0);
3189    TESTDSPINST_EXTV("extrv_s.h $t6, $ac1, $t5", "ac1", t6, 0xffffffff,
3190                     0x00000001, t5, 0x23534870, 0);
3191    TESTDSPINST_EXTV("extrv_s.h $t7, $ac2, $t6", "ac2", t7, 0x00000001,
3192                     0xffffffff, t6, 0x92784656, 0);
3193    TESTDSPINST_EXTV("extrv_s.h $t8, $ac3, $t7", "ac3", t8, 0xffffffff,
3194                     0xffffffff, t7, 0xeeeeeeee, 0);
3195    TESTDSPINST_EXTV("extrv_s.h $t0, $ac0, $t8", "ac0", t0, 0x0000cdfe,
3196                     0x0fde3126, t8, 0xcacacaca, 0);
3197    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t0", "ac1", t1, 0xaaaaaaaa,
3198                     0x55555555, t0, 0xbacabaca, 0);
3199    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t1", "ac2", t2, 0x00000018,
3200                     0xffff2435, t1, 0x1bdbdbdb, 0);
3201    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t2", "ac1", t1, 0xaaaaaaaa,
3202                     0x55555555, t2, 0x0cd6b508, 0);
3203    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t3", "ac2", t2, 0x00000018,
3204                     0xffff2435, t3, 0x6731e282, 0);
3205    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t4", "ac1", t1, 0xaaaaaaaa,
3206                     0x55555555, t4, 0xb6edf28f, 0);
3207    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t5", "ac2", t2, 0x00000018,
3208                     0xffff2435, t5, 0x4b4ec9ca, 0);
3209    TESTDSPINST_EXTV("extrv_s.h $t3, $ac3, $t6", "ac3", t3, 0xbabababa,
3210                     0xabababab, t6, 0xc1037fa4, 0);
3211    TESTDSPINST_EXTV("extrv_s.h $t4, $ac0, $t7", "ac0", t4, 0xf0f0f0f0,
3212                     0xfc79b4d2, t7, 0xcb4ab48f, 0);
3213    TESTDSPINST_EXTV("extrv_s.h $t5, $ac1, $t8", "ac1", t5, 0x00000000,
3214                     0x00000000, t8, 0xaf8f7e18, 0);
3215    TESTDSPINST_EXTV("extrv_s.h $t6, $ac2, $t0", "ac2", t6, 0xfbde3976,
3216                     0x00000000, t0, 0x87df4510, 0);
3217    TESTDSPINST_EXTV("extrv_s.h $t7, $ac3, $t1", "ac3", t7, 0x0bed7654,
3218                     0x12349876, t1, 0xabf4e8e1, 0);
3219    TESTDSPINST_EXTV("extrv_s.h $t8, $ac0, $t2", "ac0", t8, 0x23534870,
3220                     0x00354565, t2, 0xf4c0eeac, 0);
3221    TESTDSPINST_EXTV("extrv_s.h $t0, $ac1, $t3", "ac1", t0, 0x980b7cde,
3222                     0x00086755, t3, 0x006a54f2, 0);
3223    TESTDSPINST_EXTV("extrv_s.h $t1, $ac2, $t4", "ac2", t1, 0x00000018,
3224                     0x8f8f8f8f, t4, 0x79f74493, 0);
3225    TESTDSPINST_EXTV("extrv_s.h $t2, $ac3, $t5", "ac3", t2, 0x92784656,
3226                     0xeeeeeeee, t5, 0x9c09e313, 0);
3227    TESTDSPINST_EXTV("extrv_s.h $t3, $ac0, $t6", "ac0", t3, 0xcacacaca,
3228                     0x1bdbdbdb, t6, 0x0fde3126, 0);
3229    TESTDSPINST_EXTV("extrv_s.h $t4, $ac1, $t7", "ac1", t4, 0xbacabaca,
3230                     0xdecadeca, t7, 0x55555555, 0);
3231    TESTDSPINST_EXTV("extrv_s.h $t5, $ac0, $t8", "ac0", t5, 0x00000000,
3232                     0x5fc92974, t8, 0xffff2435, 0);
3233    TESTDSPINST_EXTV("extrv_s.h $t6, $ac1, $t0", "ac1", t6, 0x00000000,
3234                     0x7e08184e, t0, 0x55555555, 0);
3235    TESTDSPINST_EXTV("extrv_s.h $t7, $ac2, $t1", "ac2", t7, 0x00000000,
3236                     0x71c8315f, t1, 0xffff2435, 0);
3237    TESTDSPINST_EXTV("extrv_s.h $t8, $ac3, $t2", "ac3", t8, 0xffffffff,
3238                     0x9493110e, t2, 0x55555555, 0);
3239    TESTDSPINST_EXTV("extrv_s.h $t0, $ac0, $t3", "ac0", t0, 0xffffffff,
3240                     0xbb246228, t3, 0xffff2435, 0);
3241    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t4", "ac1", t1, 0x00000000,
3242                     0x339d8d88, t4, 0xabababab, 0);
3243    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t5", "ac2", t2, 0x00000000,
3244                     0x70974249, t5, 0xfc79b4d2, 0);
3245    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t6", "ac1", t1, 0xffffffff,
3246                     0x8a8d4e7d, t6, 0x00000000, 0);
3247    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t7", "ac2", t2, 0xffffffff,
3248                     0xeb1b4335, t7, 0x00000000, 0);
3249    TESTDSPINST_EXTV("extrv_s.h $t1, $ac1, $t8", "ac1", t1, 0x00000000,
3250                     0x0cd6b508, t8, 0x12349876, 0);
3251    TESTDSPINST_EXTV("extrv_s.h $t2, $ac2, $t0", "ac2", t2, 0x00000000,
3252                     0x6731e282, t0, 0x00354565, 0);
3253    TESTDSPINST_EXTV("extrv_s.h $t3, $ac3, $t1", "ac3", t3, 0xffffffff,
3254                     0xb6edf28f, t1, 0x00086755, 0);
3255    TESTDSPINST_EXTV("extrv_s.h $t4, $ac0, $t2", "ac0", t4, 0x00000000,
3256                     0x4b4ec9ca, t2, 0x8f8f8f8f, 0);
3257    TESTDSPINST_EXTV("extrv_s.h $t5, $ac1, $t3", "ac1", t5, 0xffffffff,
3258                     0xc1037fa4, t3, 0xeeeeeeee, 0);
3259    TESTDSPINST_EXTV("extrv_s.h $t6, $ac2, $t3", "ac2", t6, 0xffffffff,
3260                     0xcb4ab48f, t3, 0x1bdbdbdb, 0);
3261    TESTDSPINST_EXTV("extrv_s.h $t7, $ac3, $t4", "ac3", t7, 0xffffffff,
3262                     0xaf8f7e18, t4, 0xbb246228, 0);
3263    TESTDSPINST_EXTV("extrv_s.h $t8, $ac0, $t5", "ac0", t8, 0xffffffff,
3264                     0x87df4510, t5, 0x339d8d88, 0);
3265    TESTDSPINST_EXTV("extrv_s.h $t0, $ac1, $t6", "ac1", t0, 0xffffffff,
3266                     0xabf4e8e1, t6, 0x70974249, 0);
3267    TESTDSPINST_EXTV("extrv_s.h $t1, $ac2, $t7", "ac2", t1, 0xffffffff,
3268                     0xf4c0eeac, t7, 0x8a8d4e7d, 0);
3269    TESTDSPINST_EXTV("extrv_s.h $t2, $ac3, $t8", "ac3", t2, 0x00000000,
3270                     0x006a54f2, t8, 0xeb1b4335, 0);
3271    TESTDSPINST_EXTV("extrv_s.h $t3, $ac0, $t0", "ac0", t3, 0x00000000,
3272                     0x79f74493, t0, 0x0cd6b508, 0);
3273    TESTDSPINST_EXTV("extrv_s.h $t4, $ac1, $t1", "ac1", t4, 0xffffffff,
3274                     0x9c09e313, t1, 0x6731e282, 0);
3275 
3276    printf("-------- EXTRV.W --------\n");
3277    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t3", "ac1", t1, 0x00000000, 0x00000000,
3278                     t3, 0xbababa00, 0);
3279    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t4", "ac2", t2, 0x7fffffff, 0xcbcdef01,
3280                     t4, 0xfbde391f, 0);
3281    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t7", "ac1", t1, 0x3fffffff, 0x2bcdef01,
3282                     t7, 0x5555551f, 0);
3283    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t5", "ac2", t2, 0xffffffff, 0xffffffff,
3284                     t5, 0x0000cd00, 0);
3285    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t2", "ac1", t1, 0x00000000, 0xfffffffe,
3286                     t2, 0x80000001, 0);
3287    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t3", "ac1", t1, 0xaaabad3a, 0x55555555,
3288                     t3, 0xbababa05, 0);
3289    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t4", "ac2", t2, 0x00000018, 0xffff2435,
3290                     t4, 0xfbde390e, 0);
3291    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t7", "ac1", t1, 0xaaaaa221, 0x55555555,
3292                     t7, 0x55555514, 0);
3293    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t5", "ac2", t2, 0x00000018, 0xffff2435,
3294                     t5, 0x0000cd10, 0);
3295    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t2", "ac1", t1, 0xaaaaaaaa, 0x55555555,
3296                     t2, 0x80000005, 0);
3297    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t3", "ac2", t2, 0x00000018, 0xffff2435,
3298                     t3, 0x7fffff16, 0);
3299    TESTDSPINST_EXTV("extrv.w $t0, $ac0, $t1", "ac0", t0, 0x0000cdfe, 0x0fde3126,
3300                     t1, 0xbabababa, 0);
3301    TESTDSPINST_EXTV("extrv.w $t3, $ac3, $t2", "ac3", t3, 0xbabababa, 0xabababab,
3302                     t2, 0xfbde3976, 0);
3303    TESTDSPINST_EXTV("extrv.w $t6, $ac1, $t7", "ac1", t6, 0xffffffff, 0x00000001,
3304                     t7, 0x55555555, 0);
3305    TESTDSPINST_EXTV("extrv.w $t4, $ac3, $t5", "ac3", t4, 0x00000004, 1073741824,
3306                     t5, 0x0000cdfe, 0);
3307    TESTDSPINST_EXTV("extrv.w $t1, $ac0, $t2", "ac0", t1, 0x80000000, 0x80000000,
3308                     t2, 0x80000000, 0);
3309    TESTDSPINST_EXTV("extrv.w $t2, $ac1, $t3", "ac1", t2, (1<<31)+1, (1<<31)+2,
3310                     t3, 0x06, 0);
3311    TESTDSPINST_EXTV("extrv.w $t3, $ac2, $t4", "ac2", t3, 0x00000000, 0x00000006,
3312                     t4, 0x7fffffff, 0);
3313    TESTDSPINST_EXTV("extrv.w $t5, $ac0, $t6", "ac0", t5, 0x7fffffff, 0x7fffffff,
3314                     t6, 0x0fde3126, 0);
3315    TESTDSPINST_EXTV("extrv.w $t7, $ac2, $t8", "ac2", t7, 0x00000001, 0xffffffff,
3316                     t8, 0xaaaaaaaa, 0);
3317    TESTDSPINST_EXTV("extrv.w $t8, $ac3, $t9", "ac3", t8, 0xffffffff, 0xffffffff,
3318                     t9, 0xffff2435, 0);
3319    TESTDSPINST_EXTV("extrv.w $t4, $ac0, $t3", "ac0", t4, 0xf0f0f0f0, 0xfc79b4d2,
3320                     t3, 0x12349876, 0);
3321    TESTDSPINST_EXTV("extrv.w $t5, $ac1, $t4", "ac1", t5, 0x00000000, 0x00000000,
3322                     t4, 0x00354565, 0);
3323    TESTDSPINST_EXTV("extrv.w $t6, $ac2, $t5", "ac2", t6, 0xfbde3976, 0x00000000,
3324                     t5, 0x00086755, 0);
3325    TESTDSPINST_EXTV("extrv.w $t7, $ac3, $t6", "ac3", t7, 0x0bed7654, 0x12349876,
3326                     t6, 0x00000018, 0);
3327    TESTDSPINST_EXTV("extrv.w $t8, $ac0, $t7", "ac0", t8, 0x23534870, 0x00354565,
3328                     t7, 0x23534870, 0);
3329    TESTDSPINST_EXTV("extrv.w $t0, $ac1, $t8", "ac1", t0, 0x980b7cde, 0x00086755,
3330                     t8, 0x92784656, 0);
3331    TESTDSPINST_EXTV("extrv.w $t1, $ac2, $t9", "ac2", t1, 0x00000018, 0x8f8f8f8f,
3332                     t9, 0xeeeeeeee, 0);
3333    TESTDSPINST_EXTV("extrv.w $t2, $ac3, $t1", "ac3", t2, 0x92784656, 0xeeeeeeee,
3334                     t1, 0xcacacaca, 0);
3335    TESTDSPINST_EXTV("extrv.w $t3, $ac0, $t1", "ac0", t3, 0xcacacaca, 0x1bdbdbdb,
3336                     t1, 0xbacabaca, 0);
3337    TESTDSPINST_EXTV("extrv.w $t4, $ac1, $t4", "ac1", t4, 0xbacabaca, 0xdecadeca,
3338                     t4, 0x1bdbdbdb, 0);
3339    TESTDSPINST_EXTV("extrv.w $t5, $ac0, $t8", "ac0", t5, 0x00000000, 0x5fc92974,
3340                     t8, 0xffff2435, 0);
3341    TESTDSPINST_EXTV("extrv.w $t6, $ac1, $t0", "ac1", t6, 0x00000000, 0x7e08184e,
3342                     t0, 0x55555555, 0);
3343    TESTDSPINST_EXTV("extrv.w $t7, $ac2, $t1", "ac2", t7, 0x00000000, 0x71c8315f,
3344                     t1, 0xffff2435, 0);
3345    TESTDSPINST_EXTV("extrv.w $t8, $ac3, $t2", "ac3", t8, 0xffffffff, 0x9493110e,
3346                     t2, 0x55555555, 0);
3347    TESTDSPINST_EXTV("extrv.w $t0, $ac0, $t3", "ac0", t0, 0xffffffff, 0xbb246228,
3348                     t3, 0xffff2435, 0);
3349    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t4", "ac1", t1, 0x00000000, 0x339d8d88,
3350                     t4, 0xabababab, 0);
3351    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t5", "ac2", t2, 0x00000000, 0x70974249,
3352                     t5, 0xfc79b4d2, 0);
3353    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t6", "ac1", t1, 0xffffffff, 0x8a8d4e7d,
3354                     t6, 0x00000000, 0);
3355    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t7", "ac2", t2, 0xffffffff, 0xeb1b4335,
3356                     t7, 0x00000000, 0);
3357    TESTDSPINST_EXTV("extrv.w $t1, $ac1, $t8", "ac1", t1, 0x00000000, 0x0cd6b508,
3358                     t8, 0x12349876, 0);
3359    TESTDSPINST_EXTV("extrv.w $t2, $ac2, $t0", "ac2", t2, 0x00000000, 0x6731e282,
3360                     t0, 0x00354565, 0);
3361    TESTDSPINST_EXTV("extrv.w $t3, $ac3, $t1", "ac3", t3, 0xffffffff, 0xb6edf28f,
3362                     t1, 0x00086755, 0);
3363    TESTDSPINST_EXTV("extrv.w $t4, $ac0, $t2", "ac0", t4, 0x00000000, 0x4b4ec9ca,
3364                     t2, 0x8f8f8f8f, 0);
3365    TESTDSPINST_EXTV("extrv.w $t5, $ac1, $t3", "ac1", t5, 0xffffffff, 0xc1037fa4,
3366                     t3, 0xeeeeeeee, 0);
3367    TESTDSPINST_EXTV("extrv.w $t6, $ac2, $t3", "ac2", t6, 0xffffffff, 0xcb4ab48f,
3368                     t3, 0x1bdbdbdb, 0);
3369    TESTDSPINST_EXTV("extrv.w $t7, $ac3, $t4", "ac3", t7, 0xffffffff, 0xaf8f7e18,
3370                     t4, 0xbb246228, 0);
3371    TESTDSPINST_EXTV("extrv.w $t8, $ac0, $t5", "ac0", t8, 0xffffffff, 0x87df4510,
3372                     t5, 0x339d8d88, 0);
3373    TESTDSPINST_EXTV("extrv.w $t0, $ac1, $t6", "ac1", t0, 0xffffffff, 0xabf4e8e1,
3374                     t6, 0x70974249, 0);
3375    TESTDSPINST_EXTV("extrv.w $t1, $ac2, $t7", "ac2", t1, 0xffffffff, 0xf4c0eeac,
3376                     t7, 0x8a8d4e7d, 0);
3377    TESTDSPINST_EXTV("extrv.w $t2, $ac3, $t8", "ac3", t2, 0x00000000, 0x006a54f2,
3378                     t8, 0xeb1b4335, 0);
3379    TESTDSPINST_EXTV("extrv.w $t3, $ac0, $t0", "ac0", t3, 0x00000000, 0x79f74493,
3380                     t0, 0x0cd6b508, 0);
3381    TESTDSPINST_EXTV("extrv.w $t4, $ac1, $t1", "ac1", t4, 0xffffffff, 0x9c09e313,
3382                     t1, 0x6731e282, 0);
3383 
3384    printf("-------- EXTRV_R.W --------\n");
3385    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t3", "ac1", t1, 0x00000000,
3386                     0x00000000, t3, 0xbababa00, 0);
3387    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t4", "ac2", t2, 0x7fffffff,
3388                     0xcbcdef01, t4, 0xfbde391f, 0);
3389    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t7", "ac1", t1, 0x3fffffff,
3390                     0x2bcdef01, t7, 0x5555551f, 0);
3391    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t5", "ac2", t2, 0xffffffff,
3392                     0xffffffff, t5, 0x0000cd00, 0);
3393    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t2", "ac1", t1, 0x00000000,
3394                     0xfffffffe, t2, 0x80000001, 0);
3395    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t3", "ac1", t1, 0x00000000,
3396                     0x55555555, t3, 0xbababa05, 0);
3397    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t4", "ac2", t2, 0xffffffff,
3398                     0xffff2435, t4, 0xfbde390e, 0);
3399    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t7", "ac1", t1, 0x00000000,
3400                     0x55555555, t7, 0x55555514, 0);
3401    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t5", "ac2", t2, 0xffffffff,
3402                     0xffff2435, t5, 0x0000cd10, 0);
3403    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t2", "ac1", t1, 0x00000000,
3404                     0x55555555, t2, 0x80000005, 0);
3405    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t3", "ac2", t2, 0xffffffff,
3406                     0xffff2435, t3, 0x7fffff16, 0);
3407    TESTDSPINST_EXTV("extrv_r.w $t0, $ac0, $t1", "ac0", t0, 0x00000000,
3408                     0x0fde3126, t1, 0xbabababa, 0);
3409    TESTDSPINST_EXTV("extrv_r.w $t3, $ac3, $t2", "ac3", t3, 0xffffffff,
3410                     0xabababab, t2, 0xfbde3976, 0);
3411    TESTDSPINST_EXTV("extrv_r.w $t6, $ac1, $t7", "ac1", t6, 0x00000000,
3412                     0x00000001, t7, 0x55555555, 0);
3413    TESTDSPINST_EXTV("extrv_r.w $t1, $ac0, $t2", "ac0", t1, 0xffffffff,
3414                     0x80000000, t2, 0x80000000, 0);
3415    TESTDSPINST_EXTV("extrv_r.w $t3, $ac2, $t4", "ac2", t3, 0x00000000,
3416                     0x00000006, t4, 0x7fffffff, 0);
3417    TESTDSPINST_EXTV("extrv_r.w $t5, $ac0, $t6", "ac0", t5, 0x00000000,
3418                     0x7fffffff, t6, 0x0fde3126, 0);
3419    TESTDSPINST_EXTV("extrv_r.w $t7, $ac2, $t8", "ac2", t7, 0xffffffff,
3420                     0xffffffff, t8, 0xaaaaaaaa, 0);
3421    TESTDSPINST_EXTV("extrv_r.w $t8, $ac3, $t9", "ac3", t8, 0xffffffff,
3422                     0xffffffff, t9, 0xffff2435, 0);
3423    TESTDSPINST_EXTV("extrv_r.w $t4, $ac0, $t3", "ac0", t4, 0xffffffff,
3424                     0xfc79b4d2, t3, 0x12349876, 0);
3425    TESTDSPINST_EXTV("extrv_r.w $t5, $ac1, $t4", "ac1", t5, 0x00000000,
3426                     0x00000000, t4, 0x00354565, 0);
3427    TESTDSPINST_EXTV("extrv_r.w $t6, $ac2, $t5", "ac2", t6, 0x00000000,
3428                     0x00000000, t5, 0x00086755, 0);
3429    TESTDSPINST_EXTV("extrv_r.w $t7, $ac3, $t6", "ac3", t7, 0x00000000,
3430                     0x12349876, t6, 0x00000018, 0);
3431    TESTDSPINST_EXTV("extrv_r.w $t8, $ac0, $t7", "ac0", t8, 0x00000000,
3432                     0x00354565, t7, 0x23534870, 0);
3433    TESTDSPINST_EXTV("extrv_r.w $t0, $ac1, $t8", "ac1", t0, 0x00000000,
3434                     0x00086755, t8, 0x92784656, 0);
3435    TESTDSPINST_EXTV("extrv_r.w $t1, $ac2, $t9", "ac2", t1, 0xffffffff,
3436                     0x8f8f8f8f, t9, 0xeeeeeeee, 0);
3437    TESTDSPINST_EXTV("extrv_r.w $t2, $ac3, $t1", "ac3", t2, 0xffffffff,
3438                     0xeeeeeeee, t1, 0xcacacaca, 0);
3439    TESTDSPINST_EXTV("extrv_r.w $t3, $ac0, $t1", "ac0", t3, 0x00000000,
3440                     0x1bdbdbdb, t1, 0xbacabaca, 0);
3441    TESTDSPINST_EXTV("extrv_r.w $t4, $ac1, $t4", "ac1", t4, 0xffffffff,
3442                     0xdecadeca, t4, 0x1bdbdbdb, 0);
3443    TESTDSPINST_EXTV("extrv_r.w $t5, $ac0, $t8", "ac0", t5, 0xf0f0f0f0,
3444                     0x5fc92974, t8, 0xffff2435, 0);
3445    TESTDSPINST_EXTV("extrv_r.w $t6, $ac1, $t0", "ac1", t6, 0x00000000,
3446                     0x7e08184e, t0, 0x55555555, 0);
3447    TESTDSPINST_EXTV("extrv_r.w $t7, $ac2, $t1", "ac2", t7, 0xfbde3976,
3448                     0x71c8315f, t1, 0xffff2435, 0);
3449    TESTDSPINST_EXTV("extrv_r.w $t8, $ac3, $t2", "ac3", t8, 0x0bed7654,
3450                     0x9493110e, t2, 0x55555555, 0);
3451    TESTDSPINST_EXTV("extrv_r.w $t0, $ac0, $t3", "ac0", t0, 0x23534870,
3452                     0xbb246228, t3, 0xffff2435, 0);
3453    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t4", "ac1", t1, 0x980b7cde,
3454                     0x339d8d88, t4, 0xabababab, 0);
3455    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t5", "ac2", t2, 0x00000018,
3456                     0x70974249, t5, 0xfc79b4d2, 0);
3457    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t6", "ac1", t1, 0x92784656,
3458                     0x8a8d4e7d, t6, 0x00000000, 0);
3459    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t7", "ac2", t2, 0xcacacaca,
3460                     0xeb1b4335, t7, 0x00000000, 0);
3461    TESTDSPINST_EXTV("extrv_r.w $t1, $ac1, $t8", "ac1", t1, 0xbacabaca,
3462                     0x0cd6b508, t8, 0x12349876, 0);
3463    TESTDSPINST_EXTV("extrv_r.w $t2, $ac2, $t0", "ac2", t2, 0x00000000,
3464                     0x6731e282, t0, 0x00354565, 0);
3465    TESTDSPINST_EXTV("extrv_r.w $t3, $ac3, $t1", "ac3", t3, 0x00000000,
3466                     0xb6edf28f, t1, 0x00086755, 0);
3467    TESTDSPINST_EXTV("extrv_r.w $t4, $ac0, $t2", "ac0", t4, 0x00000000,
3468                     0x4b4ec9ca, t2, 0x8f8f8f8f, 0);
3469    TESTDSPINST_EXTV("extrv_r.w $t5, $ac1, $t3", "ac1", t5, 0xffffffff,
3470                     0xc1037fa4, t3, 0xeeeeeeee, 0);
3471    TESTDSPINST_EXTV("extrv_r.w $t6, $ac2, $t3", "ac2", t6, 0xffffffff,
3472                     0xcb4ab48f, t3, 0x1bdbdbdb, 0);
3473    TESTDSPINST_EXTV("extrv_r.w $t7, $ac3, $t4", "ac3", t7, 0x00000000,
3474                     0xaf8f7e18, t4, 0xbb246228, 0);
3475    TESTDSPINST_EXTV("extrv_r.w $t8, $ac0, $t5", "ac0", t8, 0x00000000,
3476                     0x87df4510, t5, 0x339d8d88, 0);
3477    TESTDSPINST_EXTV("extrv_r.w $t0, $ac1, $t6", "ac1", t0, 0xffffffff,
3478                     0xabf4e8e1, t6, 0x70974249, 0);
3479    TESTDSPINST_EXTV("extrv_r.w $t1, $ac2, $t7", "ac2", t1, 0xffffffff,
3480                     0xf4c0eeac, t7, 0x8a8d4e7d, 0);
3481    TESTDSPINST_EXTV("extrv_r.w $t2, $ac3, $t8", "ac3", t2, 0x00000000,
3482                     0x006a54f2, t8, 0xeb1b4335, 0);
3483    TESTDSPINST_EXTV("extrv_r.w $t3, $ac0, $t0", "ac0", t3, 0x00000000,
3484                     0x79f74493, t0, 0x0cd6b508, 0);
3485    TESTDSPINST_EXTV("extrv_r.w $t4, $ac1, $t1", "ac1", t4, 0xffffffff,
3486                     0x9c09e313, t1, 0x6731e282, 0);
3487 
3488    printf("-------- EXTRV_RS.W --------\n");
3489    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t3", "ac1", t1, 0x00000000,
3490                     0x00000000, t3, 0xbababa00, 0);
3491    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t3", "ac1", t1, 0x987b2fff,
3492                     0xffffffff, t3, 0xbababa00, 0);
3493    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t4", "ac2", t2, 0x7fffffff,
3494                     0xcbcdef01, t4, 0xfbde391f, 0);
3495    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t7", "ac1", t1, 0x3fffffff,
3496                     0x2bcdef01, t7, 0x5555551f, 0);
3497    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t5", "ac2", t2, 0xffffffff,
3498                     0xffffffff, t5, 0x0000cd00, 0);
3499    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t2", "ac1", t1, 0x00000000,
3500                     0xfffffffe, t2, 0x80000001, 0);
3501    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t3", "ac1", t1, 0x00000000,
3502                     0x55555555, t3, 0xbababa05, 0);
3503    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t4", "ac2", t2, 0xffffffff,
3504                     0xffff2435, t4, 0xfbde390e, 0);
3505    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t7", "ac1", t1, 0x00000000,
3506                     0x55555555, t7, 0x55555514, 0);
3507    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t5", "ac2", t2, 0xffffffff,
3508                     0xffff2435, t5, 0x0000cd10, 0);
3509    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t2", "ac1", t1, 0x00000000,
3510                     0x55555555, t2, 0x80000005, 0);
3511    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t3", "ac2", t2, 0xffffffff,
3512                     0xffff2435, t3, 0x7fffff16, 0);
3513    TESTDSPINST_EXTV("extrv_rs.w $t0, $ac0, $t1", "ac0", t0, 0x00000000,
3514                     0x0fde3126, t1, 0xbabababa, 0);
3515    TESTDSPINST_EXTV("extrv_rs.w $t3, $ac3, $t2", "ac3", t3, 0xffffffff,
3516                     0xabababab, t2, 0xfbde3976, 0);
3517    TESTDSPINST_EXTV("extrv_rs.w $t6, $ac1, $t7", "ac1", t6, 0x00000000,
3518                     0x00000001, t7, 0x55555555, 0);
3519    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac0, $t2", "ac0", t1, 0xffffffff,
3520                     0x80000000, t2, 0x80000000, 0);
3521    TESTDSPINST_EXTV("extrv_rs.w $t5, $ac0, $t6", "ac0", t5, 0x00000000,
3522                     0x7fffffff, t6, 0x0fde3126, 0);
3523    TESTDSPINST_EXTV("extrv_rs.w $t7, $ac2, $t8", "ac2", t7, 0xffffffff,
3524                     0xffffffff, t8, 0xaaaaaaaa, 0);
3525    TESTDSPINST_EXTV("extrv_rs.w $t8, $ac3, $t9", "ac3", t8, 0xffffffff,
3526                     0xffffffff, t9, 0xffff2435, 0);
3527    TESTDSPINST_EXTV("extrv_rs.w $t4, $ac0, $t3", "ac0", t4, 0xffffffff,
3528                     0xfc79b4d2, t3, 0x12349876, 0);
3529    TESTDSPINST_EXTV("extrv_rs.w $t5, $ac1, $t4", "ac1", t5, 0xf0f0f0f0,
3530                     0x00000000, t4, 0x00354565, 0);
3531    TESTDSPINST_EXTV("extrv_rs.w $t6, $ac2, $t5", "ac2", t6, 0x00000000,
3532                     0x00000000, t5, 0x00086755, 0);
3533    TESTDSPINST_EXTV("extrv_rs.w $t7, $ac3, $t6", "ac3", t7, 0xfbde3976,
3534                     0x12349876, t6, 0x00000018, 0);
3535    TESTDSPINST_EXTV("extrv_rs.w $t8, $ac0, $t7", "ac0", t8, 0x0bed7654,
3536                     0x00354565, t7, 0x23534870, 0);
3537    TESTDSPINST_EXTV("extrv_rs.w $t0, $ac1, $t8", "ac1", t0, 0x23534870,
3538                     0x00086755, t8, 0x92784656, 0);
3539    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac2, $t9", "ac2", t1, 0x980b7cde,
3540                     0x8f8f8f8f, t9, 0xeeeeeeee, 0);
3541    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac3, $t1", "ac3", t2, 0x00000018,
3542                     0xeeeeeeee, t1, 0xcacacaca, 0);
3543    TESTDSPINST_EXTV("extrv_rs.w $t3, $ac0, $t1", "ac0", t3, 0x92784656,
3544                     0x1bdbdbdb, t1, 0xbacabaca, 0);
3545    TESTDSPINST_EXTV("extrv_rs.w $t4, $ac1, $t4", "ac1", t4, 0xcacacaca,
3546                     0xdecadeca, t4, 0x1bdbdbdb, 0);
3547    TESTDSPINST_EXTV("extrv_rs.w $t5, $ac0, $t8", "ac0", t5, 0xbacabaca,
3548                     0x5fc92974, t8, 0xffff2435, 0);
3549    TESTDSPINST_EXTV("extrv_rs.w $t6, $ac1, $t0", "ac1", t6, 0x00000000,
3550                     0x7e08184e, t0, 0x55555555, 0);
3551    TESTDSPINST_EXTV("extrv_rs.w $t7, $ac2, $t1", "ac2", t7, 0x00000000,
3552                     0x71c8315f, t1, 0xffff2435, 0);
3553    TESTDSPINST_EXTV("extrv_rs.w $t8, $ac3, $t2", "ac3", t8, 0xffffffff,
3554                     0x9493110e, t2, 0x55555555, 0);
3555    TESTDSPINST_EXTV("extrv_rs.w $t0, $ac0, $t3", "ac0", t0, 0xffffffff,
3556                     0xbb246228, t3, 0xffff2435, 0);
3557    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t4", "ac1", t1, 0x00000000,
3558                     0x339d8d88, t4, 0xabababab, 0);
3559    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t5", "ac2", t2, 0x00000000,
3560                     0x70974249, t5, 0xfc79b4d2, 0);
3561    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t6", "ac1", t1, 0xffffffff,
3562                     0x8a8d4e7d, t6, 0x00000000, 0);
3563    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t7", "ac2", t2, 0xffffffff,
3564                     0xeb1b4335, t7, 0x00000000, 0);
3565    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac1, $t8", "ac1", t1, 0x00000000,
3566                     0x0cd6b508, t8, 0x12349876, 0);
3567    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac2, $t0", "ac2", t2, 0x00000000,
3568                     0x6731e282, t0, 0x00354565, 0);
3569    TESTDSPINST_EXTV("extrv_rs.w $t3, $ac3, $t1", "ac3", t3, 0xffffffff,
3570                     0xb6edf28f, t1, 0x00086755, 0);
3571    TESTDSPINST_EXTV("extrv_rs.w $t4, $ac0, $t2", "ac0", t4, 0x00000000,
3572                     0x4b4ec9ca, t2, 0x8f8f8f8f, 0);
3573    TESTDSPINST_EXTV("extrv_rs.w $t5, $ac1, $t3", "ac1", t5, 0xffffffff,
3574                     0xc1037fa4, t3, 0xeeeeeeee, 0);
3575    TESTDSPINST_EXTV("extrv_rs.w $t6, $ac2, $t3", "ac2", t6, 0xffffffff,
3576                     0xcb4ab48f, t3, 0x1bdbdbdb, 0);
3577    TESTDSPINST_EXTV("extrv_rs.w $t7, $ac3, $t4", "ac3", t7, 0xffffffff,
3578                     0xaf8f7e18, t4, 0xbb246228, 0);
3579    TESTDSPINST_EXTV("extrv_rs.w $t8, $ac0, $t5", "ac0", t8, 0xffffffff,
3580                     0x87df4510, t5, 0x339d8d88, 0);
3581    TESTDSPINST_EXTV("extrv_rs.w $t0, $ac1, $t6", "ac1", t0, 0xffffffff,
3582                     0xabf4e8e1, t6, 0x70974249, 0);
3583    TESTDSPINST_EXTV("extrv_rs.w $t1, $ac2, $t7", "ac2", t1, 0xffffffff,
3584                     0xf4c0eeac, t7, 0x8a8d4e7d, 0);
3585    TESTDSPINST_EXTV("extrv_rs.w $t2, $ac3, $t8", "ac3", t2, 0x00000000,
3586                     0x006a54f2, t8, 0xeb1b4335, 0);
3587    TESTDSPINST_EXTV("extrv_rs.w $t3, $ac0, $t0", "ac0", t3, 0x00000000,
3588                     0x79f74493, t0, 0x0cd6b508, 0);
3589    TESTDSPINST_EXTV("extrv_rs.w $t4, $ac1, $t1", "ac1", t4, 0xffffffff,
3590                     0x9c09e313, t1, 0x6731e282, 0);
3591 
3592    printf("-------- INSV --------\n");
3593    TESTDSPINST_INSV("insv $t5, $t3", 0xffffffff, 0x00000000, t5, t3,  7,
3594                     ( 1<<7));
3595    TESTDSPINST_INSV("insv $t2, $t4", 0x004dfbe5, 0xe87927cc, t2, t4,  2,
3596                     (15<<7));
3597    TESTDSPINST_INSV("insv $t0, $t8", 0xf6a3fa3c, 0x083b3571, t0, t8,  4,
3598                     ( 2<<7));
3599    TESTDSPINST_INSV("insv $t0, $t1", 0xbf17fb9a, 0xb9743941, t0, t1, 13,
3600                     ( 0<<7));
3601    TESTDSPINST_INSV("insv $t2, $t3", 0x2c0bd024, 0xbce5f924, t2, t3,  5,
3602                     ( 5<<7));
3603    TESTDSPINST_INSV("insv $t5, $t3", 0x288593c0, 0x722d5e20, t5, t3, 28,
3604                     ( 4<<7));
3605    TESTDSPINST_INSV("insv $t2, $t4", 0x4d7ff5b4, 0xa1d6f791, t2, t4,  0,
3606                     (32<<7));
3607    TESTDSPINST_INSV("insv $t0, $t8", 0x4557be13, 0x7b11bee7, t0, t8, 16,
3608                     (15<<7));
3609    TESTDSPINST_INSV("insv $t4, $t5", 0xadcf5772, 0xa5631488, t4, t5, 15,
3610                     ( 7<<7));
3611    TESTDSPINST_INSV("insv $t0, $t1", 0x989a7235, 0xb10bcc65, t0, t1, 19,
3612                     ( 8<<7));
3613    TESTDSPINST_INSV("insv $t2, $t3", 0x4d6f393a, 0x73f39fca, t2, t3, 30,
3614                     ( 1<<7));
3615    TESTDSPINST_INSV("insv $t4, $t1", 0x24a3291e, 0x5648e540, t4, t1,  1,
3616                     (28<<7));
3617    TESTDSPINST_INSV("insv $t6, $t7", 0xdd91eebf, 0xc54f79e6, t6, t7, 17,
3618                     ( 5<<7));
3619    TESTDSPINST_INSV("insv $t5, $t3", 0xf7ce2ec6, 0x5fc92974, t5, t3, 26,
3620                     ( 2<<7));
3621    TESTDSPINST_INSV("insv $t2, $t4", 0xbc1083e8, 0x7e08184e, t2, t4, 14,
3622                     (13<<7));
3623    TESTDSPINST_INSV("insv $t0, $t8", 0xa617cc31, 0x71c8315f, t0, t8,  8,
3624                     (17<<7));
3625    TESTDSPINST_INSV("insv $t4, $t5", 0xdfe1e8f0, 0x9493110e, t4, t5,  9,
3626                     (11<<7));
3627    TESTDSPINST_INSV("insv $t2, $t4", 0x31458a23, 0xbb246228, t2, t4, 23,
3628                     ( 9<<7));
3629    TESTDSPINST_INSV("insv $t0, $t8", 0x848af791, 0x339d8d88, t0, t8,  6,
3630                     (19<<7));
3631    TESTDSPINST_INSV("insv $t0, $t1", 0xda3bacdc, 0x70974249, t0, t1, 19,
3632                     ( 8<<7));
3633    TESTDSPINST_INSV("insv $t0, $t1", 0x2fff0000, 0x00000001, t0, t1,  7,
3634                     (13<<7));
3635    TESTDSPINST_INSV("insv $t2, $t3", 0x2fff0000, 0x73741802, t2, t3,  2,
3636                     (23<<7));
3637    TESTDSPINST_INSV("insv $t4, $t1", 0x2fff0000, 0x80003403, t4, t1,  4,
3638                     (28<<7));
3639    TESTDSPINST_INSV("insv $t0, $t1", 0xabababab, 0x00000000, t0, t1,  0,
3640                     (22<<7));
3641    TESTDSPINST_INSV("insv $t2, $t3", 0xdecadeca, 0x80000000, t2, t3, 26,
3642                     ( 0<<7));
3643    TESTDSPINST_INSV("insv $t4, $t1", 0xbacabaca, 0x55555555, t4, t1, 12,
3644                     ( 3<<7));
3645    TESTDSPINST_INSV("insv $t6, $t7", 0x3545ff80, 0xffff2434, t6, t7,  1,
3646                     (23<<7));
3647    TESTDSPINST_INSV("insv $t2, $t4", 0xc4dbfe20, 0xfc79b4d2, t2, t4, 11,
3648                     ( 8<<7));
3649    TESTDSPINST_INSV("insv $t0, $t8", 0x00000000, 0x00000000, t0, t8, 16,
3650                     ( 9<<7));
3651    TESTDSPINST_INSV("insv $t0, $t1", 0xad80bce4, 0x00086755, t0, t1, 13,
3652                     (17<<7));
3653    TESTDSPINST_INSV("insv $t2, $t3", 0x7f003245, 0x8f8f8f8f, t2, t3,  8,
3654                     (18<<7));
3655    TESTDSPINST_INSV("insv $t5, $t3", 0x980b7cde, 0xdecadeca, t5, t3,  4,
3656                     (15<<7));
3657 
3658 {
3659    printf("DSP LWX\n");
3660    ppMem(mem, 16);
3661    int i;
3662    for(i = 0; i < 64; i+=4){
3663       TESTDSPINST_LWX(i, t0, t1);
3664    }
3665 }
3666 
3667 {
3668    printf("DSP LHX\n");
3669    ppMem(mem, 16);
3670    int i;
3671    for(i = 0; i < 64; i+=2){
3672       TESTDSPINST_LHX(i, t0, t1);
3673    }
3674 }
3675 
3676 {
3677    printf("DSP LBUX\n");
3678    ppMem(mem, 16);
3679    int i;
3680    for(i = 0; i < 64; i++){
3681       TESTDSPINST_LBUX(i, t0, t1);
3682    }
3683 }
3684 
3685    printf("-------- MADD --------\n");
3686    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t4, $t5", "ac3", 0x00000000,
3687                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
3688    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0x00000004,
3689                                1073741824, 0x00000000, 0x00000006, t0, t1);
3690    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0x80002435,
3691                                0x80003421, 0x00000000, 1073741824, t2, t3);
3692    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0x76548000,
3693                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
3694    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0x80000000,
3695                                0x80000000, 0x00000000, 0x00000001, t5, t3);
3696    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0x00010001,
3697                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
3698    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0x7fff7fff,
3699                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
3700    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0x0000c420,
3701                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
3702    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0x00000000,
3703                                0x00000000, 0x00000000, 0x55555555, t2, t3);
3704    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t4, $t1", "ac2", 0x80000000,
3705                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
3706    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
3707                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
3708    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0x00000018,
3709                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
3710    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0xbabababa,
3711                                0xabababab, 0x00000000, 0x00000000, t2, t4);
3712    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
3713                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
3714    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t4, $t5", "ac3", 0xfbde3976,
3715                                0x00000000, 0x00000000, 0x12349876, t4, t5);
3716    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0x23534870,
3717                                0x00354565, 0x00000000, 0x00354565, t0, t1);
3718    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0x980b7cde,
3719                                0x00086755, 0x00000000, 0x00086755, t2, t3);
3720    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t4, $t1", "ac2", 0x00000018,
3721                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
3722    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0x92784656,
3723                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
3724    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0xcacacaca,
3725                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
3726    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0xbacabaca,
3727                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
3728    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0x12fadeb4,
3729                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
3730    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t4, $t5", "ac3", 0x7c000790,
3731                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
3732    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0xffffffff,
3733                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
3734    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0x24a3291e,
3735                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
3736    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0xdd91eebf,
3737                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
3738    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
3739                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
3740    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0xbc1083e8,
3741                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
3742    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0xa617cc31,
3743                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
3744    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
3745                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
3746    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0x31458a23,
3747                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
3748    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t4, $t5", "ac3", 0x848af791,
3749                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
3750    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0xda3bacdc,
3751                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
3752    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0x649d5cbd,
3753                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
3754    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t4, $t1", "ac2", 0xc0c8c881,
3755                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
3756    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0x7dd81a20,
3757                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
3758    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0x7fff7fff,
3759                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
3760    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0x00000555,
3761                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
3762    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0x00000000,
3763                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
3764    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t4, $t5", "ac3", 0x80000000,
3765                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
3766    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0x55555555,
3767                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
3768    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t0, $t8", "ac2", 0xffff8000,
3769                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
3770    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t0, $t1", "ac0", 0xabababab,
3771                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
3772    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
3773                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
3774    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac2, $t4, $t1", "ac2", 0x00000000,
3775                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
3776    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac3, $t6, $t7", "ac3", 0x00354565,
3777                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
3778    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac0, $t5, $t3", "ac0", 0x00086755,
3779                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
3780    TESTDSPINST_AC_RS_RT_NODSPC("madd $ac1, $t2, $t4", "ac1", 0xffff8000,
3781                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
3782 
3783    printf("-------- MADDU --------\n");
3784    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t4, $t5", "ac3", 0x00000000,
3785                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
3786    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0x00000004,
3787                                1073741824, 0x00000000, 0x00000006, t0, t1);
3788    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0x80002435,
3789                                0x80003421, 0x00000000, 1073741824, t2, t3);
3790    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0x76548000,
3791                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
3792    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0x80000000,
3793                                0x80000000, 0x00000000, 0x00000001, t5, t3);
3794    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0x00010001,
3795                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
3796    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0x7fff7fff,
3797                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
3798    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0x0000c420,
3799                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
3800    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0x00000000,
3801                                0x00000000, 0x00000000, 0x55555555, t2, t3);
3802    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t4, $t1", "ac2", 0x80000000,
3803                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
3804    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
3805                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
3806    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0x00000018,
3807                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
3808    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0xbabababa,
3809                                0xabababab, 0x00000000, 0x00000000, t2, t4);
3810    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
3811                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
3812    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t4, $t5", "ac3", 0xfbde3976,
3813                                0x00000000, 0x00000000, 0x12349876, t4, t5);
3814    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0x23534870,
3815                                0x00354565, 0x00000000, 0x00354565, t0, t1);
3816    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0x980b7cde,
3817                                0x00086755, 0x00000000, 0x00086755, t2, t3);
3818    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t4, $t1", "ac2", 0x00000018,
3819                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
3820    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0x92784656,
3821                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
3822    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0xcacacaca,
3823                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
3824    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0xbacabaca,
3825                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
3826    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0x12fadeb4,
3827                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
3828    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t4, $t5", "ac3", 0x7c000790,
3829                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
3830    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0xffffffff,
3831                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
3832    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0x24a3291e,
3833                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
3834    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0xdd91eebf,
3835                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
3836    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
3837                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
3838    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0xbc1083e8,
3839                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
3840    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0xa617cc31,
3841                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
3842    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
3843                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
3844    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0x31458a23,
3845                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
3846    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t4, $t5", "ac3", 0x848af791,
3847                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
3848    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0xda3bacdc,
3849                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
3850    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0x649d5cbd,
3851                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
3852    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t4, $t1", "ac2", 0xc0c8c881,
3853                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
3854    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0x7dd81a20,
3855                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
3856    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0x7fff7fff,
3857                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
3858    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0x00000555,
3859                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
3860    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0x00000000,
3861                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
3862    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t4, $t5", "ac3", 0x80000000,
3863                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
3864    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0x55555555,
3865                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
3866    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t0, $t8", "ac2", 0xffff8000,
3867                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
3868    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t0, $t1", "ac0", 0xabababab,
3869                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
3870    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
3871                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
3872    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac2, $t4, $t1", "ac2", 0x00000000,
3873                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
3874    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac3, $t6, $t7", "ac3", 0x00354565,
3875                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
3876    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac0, $t5, $t3", "ac0", 0x00086755,
3877                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
3878    TESTDSPINST_AC_RS_RT_NODSPC("maddu $ac1, $t2, $t4", "ac1", 0xffff8000,
3879                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
3880 
3881    printf("-------- MSUB --------\n");
3882    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t4, $t5", "ac3", 0x00000000,
3883                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
3884    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0x00000004,
3885                                1073741824, 0x00000000, 0x00000006, t0, t1);
3886    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0x80002435,
3887                                0x80003421, 0x00000000, 1073741824, t2, t3);
3888    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0x76548000,
3889                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
3890    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0x80000000,
3891                                0x80000000, 0x00000000, 0x00000001, t5, t3);
3892    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0x00010001,
3893                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
3894    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0x7fff7fff,
3895                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
3896    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0x0000c420,
3897                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
3898    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0x00000000,
3899                                0x00000000, 0x00000000, 0x55555555, t2, t3);
3900    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t4, $t1", "ac2", 0x80000000,
3901                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
3902    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
3903                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
3904    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0x00000018,
3905                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
3906    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0xbabababa,
3907                                0xabababab, 0x00000000, 0x00000000, t2, t4);
3908    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
3909                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
3910    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t4, $t5", "ac3", 0xfbde3976,
3911                                0x00000000, 0x00000000, 0x12349876, t4, t5);
3912    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0x23534870,
3913                                0x00354565, 0x00000000, 0x00354565, t0, t1);
3914    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0x980b7cde,
3915                                0x00086755, 0x00000000, 0x00086755, t2, t3);
3916    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t4, $t1", "ac2", 0x00000018,
3917                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
3918    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0x92784656,
3919                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
3920    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0xcacacaca,
3921                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
3922    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0xbacabaca,
3923                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
3924    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0x12fadeb4,
3925                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
3926    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t4, $t5", "ac3", 0x7c000790,
3927                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
3928    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0xffffffff,
3929                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
3930    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0x24a3291e,
3931                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
3932    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0xdd91eebf,
3933                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
3934    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
3935                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
3936    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0xbc1083e8,
3937                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
3938    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0xa617cc31,
3939                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
3940    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
3941                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
3942    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0x31458a23,
3943                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
3944    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t4, $t5", "ac3", 0x848af791,
3945                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
3946    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0xda3bacdc,
3947                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
3948    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0x649d5cbd,
3949                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
3950    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t4, $t1", "ac2", 0xc0c8c881,
3951                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
3952    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0x7dd81a20,
3953                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
3954    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0x7fff7fff,
3955                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
3956    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0x00000555,
3957                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
3958    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0x00000000,
3959                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
3960    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t4, $t5", "ac3", 0x80000000,
3961                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
3962    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0x55555555,
3963                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
3964    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t0, $t8", "ac2", 0xffff8000,
3965                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
3966    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t0, $t1", "ac0", 0xabababab,
3967                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
3968    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
3969                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
3970    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac2, $t4, $t1", "ac2", 0x00000000,
3971                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
3972    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac3, $t6, $t7", "ac3", 0x00354565,
3973                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
3974    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac0, $t5, $t3", "ac0", 0x00086755,
3975                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
3976    TESTDSPINST_AC_RS_RT_NODSPC("msub $ac1, $t2, $t4", "ac1", 0xffff8000,
3977                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
3978 
3979    printf("-------- MSUBU --------\n");
3980    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t4, $t5", "ac3", 0x00000000,
3981                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
3982    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0x00000004,
3983                                1073741824, 0x00000000, 0x00000006, t0, t1);
3984    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0x80002435,
3985                                0x80003421, 0x00000000, 1073741824, t2, t3);
3986    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0x76548000,
3987                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
3988    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0x80000000,
3989                                0x80000000, 0x00000000, 0x00000001, t5, t3);
3990    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0x00010001,
3991                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
3992    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0x7fff7fff,
3993                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
3994    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0x0000c420,
3995                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
3996    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0x00000000,
3997                                0x00000000, 0x00000000, 0x55555555, t2, t3);
3998    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t4, $t1", "ac2", 0x80000000,
3999                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4000    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4001                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
4002    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0x00000018,
4003                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4004    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0xbabababa,
4005                                0xabababab, 0x00000000, 0x00000000, t2, t4);
4006    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4007                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4008    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t4, $t5", "ac3", 0xfbde3976,
4009                                0x00000000, 0x00000000, 0x12349876, t4, t5);
4010    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0x23534870,
4011                                0x00354565, 0x00000000, 0x00354565, t0, t1);
4012    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0x980b7cde,
4013                                0x00086755, 0x00000000, 0x00086755, t2, t3);
4014    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t4, $t1", "ac2", 0x00000018,
4015                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4016    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0x92784656,
4017                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4018    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0xcacacaca,
4019                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4020    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0xbacabaca,
4021                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4022    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4023                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4024    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t4, $t5", "ac3", 0x7c000790,
4025                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
4026    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0xffffffff,
4027                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
4028    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0x24a3291e,
4029                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
4030    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0xdd91eebf,
4031                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
4032    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
4033                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
4034    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0xbc1083e8,
4035                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
4036    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0xa617cc31,
4037                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
4038    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
4039                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
4040    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0x31458a23,
4041                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
4042    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t4, $t5", "ac3", 0x848af791,
4043                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
4044    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0xda3bacdc,
4045                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
4046    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0x649d5cbd,
4047                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
4048    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t4, $t1", "ac2", 0xc0c8c881,
4049                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
4050    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0x7dd81a20,
4051                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
4052    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0x7fff7fff,
4053                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
4054    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0x00000555,
4055                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
4056    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0x00000000,
4057                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
4058    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t4, $t5", "ac3", 0x80000000,
4059                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
4060    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0x55555555,
4061                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
4062    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t0, $t8", "ac2", 0xffff8000,
4063                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
4064    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t0, $t1", "ac0", 0xabababab,
4065                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
4066    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
4067                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
4068    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac2, $t4, $t1", "ac2", 0x00000000,
4069                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
4070    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac3, $t6, $t7", "ac3", 0x00354565,
4071                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
4072    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac0, $t5, $t3", "ac0", 0x00086755,
4073                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
4074    TESTDSPINST_AC_RS_RT_NODSPC("msubu $ac1, $t2, $t4", "ac1", 0xffff8000,
4075                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
4076 
4077    printf("-------- MAQ_S.W.PHR --------\n");
4078    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t4, $t5", "ac3", 0x00000000,
4079                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
4080    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0x00000004,
4081                              1073741824, 0x00000000, 0x00000006, t0, t1);
4082    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0x80002435,
4083                              0x80003421, 0x00000000, 1073741824, t2, t3);
4084    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0x76548000,
4085                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
4086    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0x80000000,
4087                              0x80000000, 0x00000000, 0x00000001, t5, t3);
4088    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0x00010001,
4089                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
4090    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0x7fff7fff,
4091                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
4092    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0x0000c420,
4093                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
4094    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0x00000000,
4095                              0x00000000, 0x00000000, 0x55555555, t2, t3);
4096    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t4, $t1", "ac2", 0x80000000,
4097                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4098    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4099                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
4100    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0x00000018,
4101                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4102    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0xbabababa,
4103                              0xabababab, 0x00000000, 0x00000000, t2, t4);
4104    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4105                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4106    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t4, $t5", "ac3", 0xfbde3976,
4107                              0x00000000, 0x00000000, 0x12349876, t4, t5);
4108    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0x23534870,
4109                              0x00354565, 0x00000000, 0x00354565, t0, t1);
4110    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0x980b7cde,
4111                              0x00086755, 0x00000000, 0x00086755, t2, t3);
4112    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t4, $t1", "ac2", 0x00000018,
4113                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4114    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0x92784656,
4115                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4116    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0xcacacaca,
4117                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4118    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0xbacabaca,
4119                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4120    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4121                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4122    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t4, $t5", "ac3", 0x7c000790,
4123                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
4124    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0xffffffff,
4125                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
4126    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0x24a3291e,
4127                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
4128    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0xdd91eebf,
4129                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
4130    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
4131                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
4132    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0xbc1083e8,
4133                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
4134    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0xa617cc31,
4135                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
4136    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
4137                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
4138    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0x31458a23,
4139                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
4140    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t4, $t5", "ac3", 0x848af791,
4141                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
4142    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0xda3bacdc,
4143                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
4144    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0x649d5cbd,
4145                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
4146    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t4, $t1", "ac2", 0xc0c8c881,
4147                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
4148    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0x7dd81a20,
4149                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
4150    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0x7fff7fff,
4151                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
4152    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0x00000555,
4153                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
4154    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0x00000000,
4155                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
4156    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t4, $t5", "ac3", 0x80000000,
4157                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
4158    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0x55555555,
4159                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
4160    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t0, $t8", "ac2", 0xffff8000,
4161                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
4162    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t0, $t1", "ac0", 0xabababab,
4163                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
4164    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
4165                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
4166    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac2, $t4, $t1", "ac2", 0x00000000,
4167                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
4168    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac3, $t6, $t7", "ac3", 0x00354565,
4169                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
4170    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac0, $t5, $t3", "ac0", 0x00086755,
4171                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
4172    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phr $ac1, $t2, $t4", "ac1", 0xffff8000,
4173                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
4174 
4175    printf("-------- MAQ_SA.W.PHR --------\n");
4176    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t4, $t5", "ac3", 0x00000000,
4177                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
4178    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0x00000004,
4179                              1073741824, 0x00000000, 0x00000006, t0, t1);
4180    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0x80002435,
4181                              0x80003421, 0x00000000, 1073741824, t2, t3);
4182    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0x76548000,
4183                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
4184    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0x80000000,
4185                              0x80000000, 0x00000000, 0x00000001, t5, t3);
4186    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0x00010001,
4187                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
4188    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0x7fff7fff,
4189                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
4190    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0x0000c420,
4191                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
4192    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0x00000000,
4193                              0x00000000, 0x00000000, 0x55555555, t2, t3);
4194    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t4, $t1", "ac2", 0x80000000,
4195                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4196    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4197                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
4198    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0x00000018,
4199                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4200    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0xbabababa,
4201                              0xabababab, 0x00000000, 0x00000000, t2, t4);
4202    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4203                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4204    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t4, $t5", "ac3", 0xfbde3976,
4205                              0x00000000, 0x00000000, 0x12349876, t4, t5);
4206    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0x23534870,
4207                              0x00354565, 0x00000000, 0x00354565, t0, t1);
4208    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0x980b7cde,
4209                              0x00086755, 0x00000000, 0x00086755, t2, t3);
4210    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t4, $t1", "ac2", 0x00000018,
4211                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4212    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0x92784656,
4213                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4214    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0xcacacaca,
4215                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4216    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0xbacabaca,
4217                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4218    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4219                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4220    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t4, $t5", "ac3", 0x7c000790,
4221                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
4222    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0xffffffff,
4223                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
4224    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0x24a3291e,
4225                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
4226    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0xdd91eebf,
4227                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
4228    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
4229                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
4230    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0xbc1083e8,
4231                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
4232    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0xa617cc31,
4233                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
4234    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
4235                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
4236    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0x31458a23,
4237                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
4238    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t4, $t5", "ac3", 0x848af791,
4239                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
4240    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0xda3bacdc,
4241                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
4242    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0x649d5cbd,
4243                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
4244    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t4, $t1", "ac2", 0xc0c8c881,
4245                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
4246    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0x7dd81a20,
4247                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
4248    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0x7fff7fff,
4249                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
4250    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0x00000555,
4251                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
4252    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0x00000000,
4253                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
4254    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t4, $t5", "ac3", 0x80000000,
4255                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
4256    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0x55555555,
4257                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
4258    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t0, $t8", "ac2", 0xffff8000,
4259                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
4260    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t0, $t1", "ac0", 0xabababab,
4261                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
4262    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
4263                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
4264    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac2, $t4, $t1", "ac2", 0x00000000,
4265                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
4266    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac3, $t6, $t7", "ac3", 0x00354565,
4267                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
4268    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac0, $t5, $t3", "ac0", 0x00086755,
4269                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
4270    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phr $ac1, $t2, $t4", "ac1", 0xffff8000,
4271                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
4272 
4273    printf("-------- MAQ_S.W.PHL --------\n");
4274    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t4, $t5", "ac3", 0x00000000,
4275                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
4276    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0x00000004,
4277                              1073741824, 0x00000000, 0x00000006, t0, t1);
4278    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0x80002435,
4279                              0x80003421, 0x00000000, 1073741824, t2, t3);
4280    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0x76548000,
4281                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
4282    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0x80000000,
4283                              0x80000000, 0x00000000, 0x00000001, t5, t3);
4284    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0x00010001,
4285                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
4286    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0x7fff7fff,
4287                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
4288    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0x0000c420,
4289                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
4290    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0x00000000,
4291                              0x00000000, 0x00000000, 0x55555555, t2, t3);
4292    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t4, $t1", "ac2", 0x80000000,
4293                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4294    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4295                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
4296    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0x00000018,
4297                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4298    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0xbabababa,
4299                              0xabababab, 0x00000000, 0x00000000, t2, t4);
4300    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4301                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4302    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t4, $t5", "ac3", 0xfbde3976,
4303                              0x00000000, 0x00000000, 0x12349876, t4, t5);
4304    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0x23534870,
4305                              0x00354565, 0x00000000, 0x00354565, t0, t1);
4306    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0x980b7cde,
4307                              0x00086755, 0x00000000, 0x00086755, t2, t3);
4308    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t4, $t1", "ac2", 0x00000018,
4309                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4310    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0x92784656,
4311                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4312    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0xcacacaca,
4313                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4314    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0xbacabaca,
4315                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4316    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4317                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4318    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t4, $t5", "ac3", 0x7c000790,
4319                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
4320    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0xffffffff,
4321                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
4322    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0x24a3291e,
4323                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
4324    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0xdd91eebf,
4325                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
4326    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
4327                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
4328    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0xbc1083e8,
4329                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
4330    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0xa617cc31,
4331                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
4332    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
4333                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
4334    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0x31458a23,
4335                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
4336    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t4, $t5", "ac3", 0x848af791,
4337                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
4338    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0xda3bacdc,
4339                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
4340    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0x649d5cbd,
4341                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
4342    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t4, $t1", "ac2", 0xc0c8c881,
4343                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
4344    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0x7dd81a20,
4345                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
4346    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0x7fff7fff,
4347                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
4348    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0x00000555,
4349                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
4350    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0x00000000,
4351                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
4352    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t4, $t5", "ac3", 0x80000000,
4353                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
4354    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0x55555555,
4355                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
4356    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t0, $t8", "ac2", 0xffff8000,
4357                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
4358    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t0, $t1", "ac0", 0xabababab,
4359                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
4360    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
4361                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
4362    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac2, $t4, $t1", "ac2", 0x00000000,
4363                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
4364    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac3, $t6, $t7", "ac3", 0x00354565,
4365                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
4366    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac0, $t5, $t3", "ac0", 0x00086755,
4367                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
4368    TESTDSPINST_AC_RS_RT_DSPC("maq_s.w.phl $ac1, $t2, $t4", "ac1", 0xffff8000,
4369                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
4370 
4371 
4372    printf("-------- MAQ_SA.W.PHL --------\n");
4373    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t4, $t5", "ac3", 0x00000000,
4374                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
4375    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0x00000004,
4376                              1073741824, 0x00000000, 0x00000006, t0, t1);
4377    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0x80002435,
4378                              0x80003421, 0x00000000, 1073741824, t2, t3);
4379    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0x76548000,
4380                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
4381    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0x80000000,
4382                              0x80000000, 0x00000000, 0x00000001, t5, t3);
4383    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0x00010001,
4384                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
4385    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0x7fff7fff,
4386                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
4387    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0x0000c420,
4388                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
4389    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0x00000000,
4390                              0x00000000, 0x00000000, 0x55555555, t2, t3);
4391    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t4, $t1", "ac2", 0x80000000,
4392                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4393    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4394                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
4395    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0x00000018,
4396                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4397    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0xbabababa,
4398                              0xabababab, 0x00000000, 0x00000000, t2, t4);
4399    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4400                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4401    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t4, $t5", "ac3", 0xfbde3976,
4402                              0x00000000, 0x00000000, 0x12349876, t4, t5);
4403    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0x23534870,
4404                              0x00354565, 0x00000000, 0x00354565, t0, t1);
4405    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0x980b7cde,
4406                              0x00086755, 0x00000000, 0x00086755, t2, t3);
4407    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t4, $t1", "ac2", 0x00000018,
4408                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4409    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0x92784656,
4410                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4411    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0xcacacaca,
4412                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4413    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0xbacabaca,
4414                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4415    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4416                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4417    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t4, $t5", "ac3", 0x7c000790,
4418                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
4419    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0xffffffff,
4420                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
4421    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0x24a3291e,
4422                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
4423    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0xdd91eebf,
4424                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
4425    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
4426                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
4427    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0xbc1083e8,
4428                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
4429    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0xa617cc31,
4430                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
4431    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
4432                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
4433    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0x31458a23,
4434                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
4435    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t4, $t5", "ac3", 0x848af791,
4436                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
4437    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0xda3bacdc,
4438                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
4439    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0x649d5cbd,
4440                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
4441    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t4, $t1", "ac2", 0xc0c8c881,
4442                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
4443    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0x7dd81a20,
4444                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
4445    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0x7fff7fff,
4446                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
4447    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0x00000555,
4448                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
4449    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0x00000000,
4450                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
4451    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t4, $t5", "ac3", 0x80000000,
4452                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
4453    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0x55555555,
4454                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
4455    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t0, $t8", "ac2", 0xffff8000,
4456                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
4457    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t0, $t1", "ac0", 0xabababab,
4458                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
4459    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
4460                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
4461    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac2, $t4, $t1", "ac2", 0x00000000,
4462                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
4463    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac3, $t6, $t7", "ac3", 0x00354565,
4464                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
4465    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac0, $t5, $t3", "ac0", 0x00086755,
4466                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
4467    TESTDSPINST_AC_RS_RT_DSPC("maq_sa.w.phl $ac1, $t2, $t4", "ac1", 0xffff8000,
4468                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
4469 
4470    printf("-------- MTHI, MTLO, MFHI, MFLO --------\n");
4471    TESTDSPINST_HILO("ac0", 0x00000000, 0x00000006);
4472    TESTDSPINST_HILO("ac1", 0x00000055, 0x00000286);
4473    TESTDSPINST_HILO("ac2", 0x00000018, 0x00000fff);
4474    TESTDSPINST_HILO("ac3", 0x7fffffff, 0x7fffffff);
4475    TESTDSPINST_HILO("ac0", 0xffffffff, 0x00000001);
4476    TESTDSPINST_HILO("ac1", 0x00000001, 0xffffffff);
4477    TESTDSPINST_HILO("ac2", 0x00000002, 0x00000006);
4478    TESTDSPINST_HILO("ac3", 0x00000356, 0x00000555);
4479 
4480    printf("-------- MODSUB --------\n");
4481    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t1, $t2", 0x00000000, 0x00000000,
4482                                t0, t1, t2);
4483    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t3, $t4", 0x00045fb2, 0x00000286,
4484                                t2, t3, t4);
4485    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t1, $t5", 0x00002435, 0xffff3421,
4486                                t4, t1, t5);
4487    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
4488                                t6, t7, t3);
4489    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t5, $t3, $t2", 0xf973437b, 0x80000000,
4490                                t5, t3, t2);
4491    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t4, $t8", 0x00010001, 0xffffffff,
4492                                t2, t4, t8);
4493    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
4494                                t0, t8, t0);
4495    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t6, $t1", 0x0000c420, 0x00000555,
4496                                t4, t6, t1);
4497    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t3, $t4", 0x00000004, 1073741824,
4498                                t2, t3, t4);
4499    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t1, $t5", 0x80002435, 0x80003421,
4500                                t4, t1, t5);
4501    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t6, $t7, $t3", 0x76548000, 0x73468000,
4502                                t6, t7, t3);
4503    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t5, $t3, $t2", 0x80000000, 0x80000000,
4504                                t5, t3, t2);
4505    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t4, $t8", 0x00010001, 0xffffffff,
4506                                t2, t4, t8);
4507    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
4508                                t0, t8, t0);
4509    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t6, $t1", 0x0000c420, 0x00000555,
4510                                t4, t6, t1);
4511    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t1, $t2", 0x00000000, 0x00000000,
4512                                t0, t1, t2);
4513    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t3, $t4", 0x80000000, 0x80000000,
4514                                t2, t3, t4);
4515    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
4516                                t4, t1, t5);
4517    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t6, $t7, $t3", 0x00000018, 0xffff2435,
4518                                t6, t7, t3);
4519    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t5, $t3, $t2", 0xbabababa, 0xabababab,
4520                                t5, t3, t2);
4521    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
4522                                t2, t4, t8);
4523    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t8, $t0", 0xfbde3976, 0x00000000,
4524                                t0, t8, t0);
4525    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t6, $t1", 0x23534870, 0x00354565,
4526                                t4, t6, t1);
4527    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t1, $t2", 0x980b7cde, 0x00086755,
4528                                t0, t1, t2);
4529    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
4530                                t2, t3, t4);
4531    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
4532                                t4, t1, t5);
4533    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
4534                                t6, t7, t3);
4535    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
4536                                t5, t3, t2);
4537    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
4538                                t2, t4, t8);
4539    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
4540                                t0, t8, t0);
4541    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t6, $t1", 0xffffffff, 0xffffffff,
4542                                t4, t6, t1);
4543    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
4544                                t0, t1, t2);
4545    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
4546                                t2, t3, t4);
4547    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
4548                                t4, t1, t5);
4549    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
4550                                t6, t7, t3);
4551    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
4552                                t5, t3, t2);
4553    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
4554                                t2, t4, t8);
4555    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
4556                                t0, t8, t0);
4557    TESTDSPINST_RD_RS_RT_NODSPC("modsub $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
4558                                t4, t6, t1);
4559 
4560    printf("-------- MTHLIP --------\n");
4561    TESTDSPINST_MTHLIP("mthlip $t1, $ac1", "ac1", 0xda3bacdc, 0x70974249,
4562                       0x00000000, t1,  7);
4563    TESTDSPINST_MTHLIP("mthlip $t2, $ac2", "ac2", 0x2fff0000, 0x00000001,
4564                       0xe87927cc, t2,  2);
4565    TESTDSPINST_MTHLIP("mthlip $t1, $ac1", "ac1", 0x2fff0000, 0x73741802,
4566                       0x083b3571, t1,  4);
4567    TESTDSPINST_MTHLIP("mthlip $t2, $ac2", "ac2", 0x2fff0000, 0x80003403,
4568                       0xb9743941, t2, 13);
4569    TESTDSPINST_MTHLIP("mthlip $t1, $ac1", "ac1", 0xff460000, 0x73468004,
4570                       0xbce5f924, t1,  5);
4571    TESTDSPINST_MTHLIP("mthlip $t2, $ac2", "ac2", 0x00008000, 0x80000000,
4572                       0xcc3c201c, t2, 22);
4573    TESTDSPINST_MTHLIP("mthlip $t0, $ac0", "ac0", 0x00010001, 0xffffff07,
4574                       0x1ebaf88e, t0, 31);
4575    TESTDSPINST_MTHLIP("mthlip $t3, $ac3", "ac3", 0x7fff7fff, 0x7fff7f07,
4576                       0x722d5e20, t3, 28);
4577    TESTDSPINST_MTHLIP("mthlip $t6, $ac1", "ac1", 0xffffffff, 0x00000505,
4578                       0xa1d6f791, t6,  0);
4579    TESTDSPINST_MTHLIP("mthlip $t4, $ac3", "ac3", 0xabababab, 0x00000000,
4580                       0x7b11bee7, t4, 26);
4581    TESTDSPINST_MTHLIP("mthlip $t1, $ac0", "ac0", 0xdecadeca, 0x80000000,
4582                       0xa5631488, t1, 12);
4583    TESTDSPINST_MTHLIP("mthlip $t2, $ac1", "ac1", 0xbacabaca, 0x55555555,
4584                       0xb10bcc65, t2,  1);
4585    TESTDSPINST_MTHLIP("mthlip $t3, $ac2", "ac2", 0x3545ff80, 0xffff2434,
4586                       0x73f39fca, t3, 31);
4587    TESTDSPINST_MTHLIP("mthlip $t5, $ac0", "ac0", 0x734680bc, 0xabababa3,
4588                       0x5648e540, t5, 11);
4589    TESTDSPINST_MTHLIP("mthlip $t7, $ac2", "ac2", 0xc4dbfe20, 0xfc79b4d2,
4590                       0xc54f79e6, t7, 16);
4591    TESTDSPINST_MTHLIP("mthlip $t8, $ac3", "ac3", 0x00000000, 0x00000000,
4592                       0x5fc92974, t8, 29);
4593    TESTDSPINST_MTHLIP("mthlip $t4, $ac0", "ac0", 0x55555555, 0x00354561,
4594                       0x7e08184e, t4, 13);
4595    TESTDSPINST_MTHLIP("mthlip $t5, $ac1", "ac1", 0xad80bce4, 0x00086755,
4596                       0x71c8315f, t5,  8);
4597    TESTDSPINST_MTHLIP("mthlip $t6, $ac2", "ac2", 0x7f003245, 0x8f8f8f8f,
4598                       0x9493110e, t6,  7);
4599    TESTDSPINST_MTHLIP("mthlip $t7, $ac3", "ac3", 0x93474bde, 0xeeeeeeee,
4600                       0xbb246228, t7, 21);
4601    TESTDSPINST_MTHLIP("mthlip $t8, $ac0", "ac0", 0xf97343ff, 0x1bdbdbdb,
4602                       0x339d8d88, t8,  4);
4603    TESTDSPINST_MTHLIP("mthlip $t0, $ac1", "ac1", 0x980b7cde, 0xdecadeca,
4604                       0x70974249, t0, 32);
4605    TESTDSPINST_MTHLIP("mthlip $t1, $ac2", "ac2", 0x0555adec, 0x93474bde,
4606                       0x339d8d88, t1, 33);
4607    TESTDSPINST_MTHLIP("mthlip $t1, $ac0", "ac0", 0x00000000, 0x0cd6b508,
4608                       0x12349876, t1, 12);
4609    TESTDSPINST_MTHLIP("mthlip $t2, $ac1", "ac1", 0x00000000, 0x6731e282,
4610                       0x00354565, t2,  1);
4611    TESTDSPINST_MTHLIP("mthlip $t3, $ac2", "ac2", 0xffffffff, 0xb6edf28f,
4612                       0x00086755, t3, 31);
4613    TESTDSPINST_MTHLIP("mthlip $t5, $ac0", "ac0", 0x00000000, 0x4b4ec9ca,
4614                       0x8f8f8f8f, t5, 11);
4615    TESTDSPINST_MTHLIP("mthlip $t7, $ac2", "ac2", 0xffffffff, 0xc1037fa4,
4616                       0xeeeeeeee, t7, 16);
4617    TESTDSPINST_MTHLIP("mthlip $t8, $ac3", "ac3", 0xffffffff, 0xcb4ab48f,
4618                       0x1bdbdbdb, t8, 29);
4619    TESTDSPINST_MTHLIP("mthlip $t4, $ac0", "ac0", 0xffffffff, 0xaf8f7e18,
4620                       0xbb246228, t4, 13);
4621    TESTDSPINST_MTHLIP("mthlip $t5, $ac1", "ac1", 0xffffffff, 0x87df4510,
4622                       0x339d8d88, t5,  8);
4623    TESTDSPINST_MTHLIP("mthlip $t6, $ac2", "ac2", 0xffffffff, 0xabf4e8e1,
4624                       0x70974249, t6,  7);
4625    TESTDSPINST_MTHLIP("mthlip $t7, $ac3", "ac3", 0xffffffff, 0xf4c0eeac,
4626                       0x8a8d4e7d, t7, 21);
4627    TESTDSPINST_MTHLIP("mthlip $t8, $ac0", "ac0", 0x00000000, 0x006a54f2,
4628                       0xeb1b4335, t8,  4);
4629    TESTDSPINST_MTHLIP("mthlip $t0, $ac1", "ac1", 0x00000000, 0x79f74493,
4630                       0x0cd6b508, t0, 32);
4631    TESTDSPINST_MTHLIP("mthlip $t1, $ac2", "ac2", 0xffffffff, 0x9c09e313,
4632                       0x6731e282, t1, 33);
4633 
4634    printf("-------- MULEQ_S.W.PHL --------\n");
4635    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t1, $t2", 0x00000000,
4636                              0x00000000, t0, t1, t2);
4637    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t3, $t4", 0x00045fb2,
4638                              0x00000286, t2, t3, t4);
4639    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t1, $t5", 0x80002435,
4640                              0x80003421, t4, t1, t5);
4641    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t6, $t7, $t3", 0x07654cb8,
4642                              0x734680bc, t6, t7, t3);
4643    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t5, $t3, $t2", 0xf973437b,
4644                              0x80000000, t5, t3, t2);
4645    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t4, $t8", 0x00010001,
4646                              0xffffffff, t2, t4, t8);
4647    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t8, $t0", 0x7fff7fff,
4648                              0x7fff7fff, t0, t8, t0);
4649    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t6, $t1", 0x0000c420,
4650                              0x00000555, t4, t6, t1);
4651    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t3, $t4", 0x80000000,
4652                              0x80000000, t2, t3, t4);
4653    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t1, $t5", 0xaaaaaaaa,
4654                              0x55555555, t4, t1, t5);
4655    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t6, $t7, $t3", 0x00000018,
4656                              0xffff2435, t6, t7, t3);
4657    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t5, $t3, $t2", 0xbabababa,
4658                              0xabababab, t5, t3, t2);
4659    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t4, $t8", 0xf0f0f0f0,
4660                              0xfc79b4d2, t2, t4, t8);
4661    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t8, $t0", 0xfbde3976,
4662                              0x00000000, t0, t8, t0);
4663    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t6, $t1", 0x23534870,
4664                              0x00354565, t4, t6, t1);
4665    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t1, $t2", 0x980b7cde,
4666                              0x00086755, t0, t1, t2);
4667    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t3, $t4", 0x00000018,
4668                              0x8f8f8f8f, t2, t3, t4);
4669    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t1, $t5", 0x92784656,
4670                              0xeeeeeeee, t4, t1, t5);
4671    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t6, $t7, $t3", 0xcacacaca,
4672                              0x1bdbdbdb, t6, t7, t3);
4673    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t5, $t3, $t2", 0xbacabaca,
4674                              0xdecadeca, t5, t3, t2);
4675    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t4, $t8", 0x12fadeb4,
4676                              0x93474bde, t2, t4, t8);
4677    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t8, $t0", 0x7c000790,
4678                              0xfc0007ff, t0, t8, t0);
4679    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t6, $t1", 0xffffffff,
4680                              0xffffffff, t4, t6, t1);
4681    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t1, $t2", 0xf2f4df1f,
4682                              0xcb4ab48f, t0, t1, t2);
4683    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t3, $t4", 0x435f909a,
4684                              0xaf8f7e18, t2, t3, t4);
4685    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t1, $t5", 0x2106ba5f,
4686                              0x87df4510, t4, t1, t5);
4687    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t6, $t7, $t3", 0x246a6376,
4688                              0xabf4e8e1, t6, t7, t3);
4689    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t5, $t3, $t2", 0x1046a1a3,
4690                              0xf4c0eeac, t5, t3, t2);
4691    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t2, $t4, $t8", 0x638ca515,
4692                              0x006a54f2, t2, t4, t8);
4693    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t0, $t8, $t0", 0xf63e7a9d,
4694                              0x79f74493, t0, t8, t0);
4695    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phl $t4, $t6, $t1", 0xbd6845cd,
4696                              0x9c09e313, t4, t6, t1);
4697 
4698    printf("-------- MULEQ_S.W.PHR --------\n");
4699    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t1, $t2", 0x00000000,
4700                              0x00000000, t0, t1, t2);
4701    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t3, $t4", 0x00045fb2,
4702                              0x00000286, t2, t3, t4);
4703    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t1, $t5", 0x80002435,
4704                              0x80003421, t4, t1, t5);
4705    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t6, $t7, $t3", 0x07654cb8,
4706                              0x734680bc, t6, t7, t3);
4707    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t5, $t3, $t2", 0xf973437b,
4708                              0x80000000, t5, t3, t2);
4709    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t4, $t8", 0x00010001,
4710                              0xffffffff, t2, t4, t8);
4711    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t8, $t0", 0x7fff7fff,
4712                              0x7fff7fff, t0, t8, t0);
4713    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t6, $t1", 0x0000c420,
4714                              0x00000555, t4, t6, t1);
4715    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t3, $t4", 0x80000000,
4716                              0x80000000, t2, t3, t4);
4717    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t1, $t5", 0xaaaaaaaa,
4718                              0x55555555, t4, t1, t5);
4719    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t6, $t7, $t3", 0x00000018,
4720                              0xffff2435, t6, t7, t3);
4721    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t5, $t3, $t2", 0xbabababa,
4722                              0xabababab, t5, t3, t2);
4723    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t4, $t8", 0xf0f0f0f0,
4724                              0xfc79b4d2, t2, t4, t8);
4725    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t8, $t0", 0xfbde3976,
4726                              0x00000000, t0, t8, t0);
4727    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t6, $t1", 0x23534870,
4728                              0x00354565, t4, t6, t1);
4729    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t1, $t2", 0x980b7cde,
4730                              0x00086755, t0, t1, t2);
4731    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t3, $t4", 0x00000018,
4732                              0x8f8f8f8f, t2, t3, t4);
4733    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t1, $t5", 0x92784656,
4734                              0xeeeeeeee, t4, t1, t5);
4735    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t6, $t7, $t3", 0xcacacaca,
4736                              0x1bdbdbdb, t6, t7, t3);
4737    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t5, $t3, $t2", 0xbacabaca,
4738                              0xdecadeca, t5, t3, t2);
4739    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t4, $t8", 0x12fadeb4,
4740                              0x93474bde, t2, t4, t8);
4741    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t8, $t0", 0x7c000790,
4742                              0xfc0007ff, t0, t8, t0);
4743    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t6, $t1", 0xffffffff,
4744                              0xffffffff, t4, t6, t1);
4745    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t1, $t2", 0xf2f4df1f,
4746                              0xcb4ab48f, t0, t1, t2);
4747    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t3, $t4", 0x435f909a,
4748                              0xaf8f7e18, t2, t3, t4);
4749    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t1, $t5", 0x2106ba5f,
4750                              0x87df4510, t4, t1, t5);
4751    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t6, $t7, $t3", 0x246a6376,
4752                              0xabf4e8e1, t6, t7, t3);
4753    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t5, $t3, $t2", 0x1046a1a3,
4754                              0xf4c0eeac, t5, t3, t2);
4755    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t2, $t4, $t8", 0x638ca515,
4756                              0x006a54f2, t2, t4, t8);
4757    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t0, $t8, $t0", 0xf63e7a9d,
4758                              0x79f74493, t0, t8, t0);
4759    TESTDSPINST_RD_RS_RT_DSPC("muleq_s.w.phr $t4, $t6, $t1", 0xbd6845cd,
4760                              0x9c09e313, t4, t6, t1);
4761 
4762    printf("-------- MULEU_S.PH.QBL --------\n");
4763    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t1, $t2", 0x00000000,
4764                              0x00000000, t0, t1, t2);
4765    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t3, $t4", 0x00045fb2,
4766                              0x00000286, t2, t3, t4);
4767    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t1, $t5", 0x80002435,
4768                              0x80003421, t4, t1, t5);
4769    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t6, $t7, $t3", 0x07654cb8,
4770                              0x734680bc, t6, t7, t3);
4771    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t5, $t3, $t2", 0xf973437b,
4772                              0x80000000, t5, t3, t2);
4773    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t4, $t8", 0x00010001,
4774                              0xffffffff, t2, t4, t8);
4775    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t8, $t0", 0x7fff7fff,
4776                              0x7fff7fff, t0, t8, t0);
4777    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t6, $t1", 0x0000c420,
4778                              0x00000555, t4, t6, t1);
4779    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t3, $t4", 0x80000000,
4780                              0x80000000, t2, t3, t4);
4781    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t1, $t5", 0xaaaa8000,
4782                              0x55558000, t4, t1, t5);
4783    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t6, $t7, $t3", 0x00000018,
4784                              0xffff2435, t6, t7, t3);
4785    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t5, $t3, $t2", 0xbabababa,
4786                              0xabababab, t5, t3, t2);
4787    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t4, $t8", 0xf0f0f0f0,
4788                              0xfc79b4d2, t2, t4, t8);
4789    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t8, $t0", 0xfbde3976,
4790                              0x00000000, t0, t8, t0);
4791    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t6, $t1", 0x23534870,
4792                              0x00354565, t4, t6, t1);
4793    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t1, $t2", 0x980b7cde,
4794                              0x00086755, t0, t1, t2);
4795    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t3, $t4", 0x00000018,
4796                              0x8f8f8f8f, t2, t3, t4);
4797    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t1, $t5", 0x92784656,
4798                              0xeeeeeeee, t4, t1, t5);
4799    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t6, $t7, $t3", 0xcacacaca,
4800                              0x1bdbdbdb, t6, t7, t3);
4801    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t5, $t3, $t2", 0xbacabaca,
4802                              0xdecadeca, t5, t3, t2);
4803    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t4, $t8", 0x12fadeb4,
4804                              0x93474bde, t2, t4, t8);
4805    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t8, $t0", 0x7c000790,
4806                              0xfc0007ff, t0, t8, t0);
4807    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t6, $t1", 0xffffffff,
4808                              0xffffffff, t4, t6, t1);
4809    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t1, $t2", 0xffffffff,
4810                              0xcb4ab48f, t0, t1, t2);
4811    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t3, $t4", 0xffffffff,
4812                              0xaf8f7e18, t2, t3, t4);
4813    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t1, $t5", 0xffffffff,
4814                              0x87df4510, t4, t1, t5);
4815    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t6, $t7, $t3", 0xffffffff,
4816                              0xabf4e8e1, t6, t7, t3);
4817    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t5, $t3, $t2", 0xffffffff,
4818                              0xf4c0eeac, t5, t3, t2);
4819    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t2, $t4, $t8", 0x00000000,
4820                              0x006a54f2, t2, t4, t8);
4821    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t0, $t8, $t0", 0x00000000,
4822                              0x79f74493, t0, t8, t0);
4823    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbl $t4, $t6, $t1", 0xffffffff,
4824                              0x9c09e313, t4, t6, t1);
4825 
4826    printf("-------- MULEU_S.PH.QBR --------\n");
4827    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t1, $t2", 0x00000000,
4828                              0x00000000, t0, t1, t2);
4829    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t3, $t4", 0x00045fb2,
4830                              0x00000286, t2, t3, t4);
4831    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t1, $t5", 0x80002435,
4832                              0x80003421, t4, t1, t5);
4833    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t6, $t7, $t3", 0x07654cb8,
4834                              0x734680bc, t6, t7, t3);
4835    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t5, $t3, $t2", 0xf973437b,
4836                              0x80000000, t5, t3, t2);
4837    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t4, $t8", 0x00010001,
4838                              0xffffffff, t2, t4, t8);
4839    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t8, $t0", 0x7fff7fff,
4840                              0x7fff7fff, t0, t8, t0);
4841    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t6, $t1", 0x0000c420,
4842                              0x00000555, t4, t6, t1);
4843    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t3, $t4", 0x80000000,
4844                              0x80000000, t2, t3, t4);
4845    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t1, $t5", 0xaaaa8000,
4846                              0x55558000, t4, t1, t5);
4847    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t6, $t7, $t3", 0x00000018,
4848                              0xffff2435, t6, t7, t3);
4849    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t5, $t3, $t2", 0xbabababa,
4850                              0xabababab, t5, t3, t2);
4851    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t4, $t8", 0xf0f0f0f0,
4852                              0xfc79b4d2, t2, t4, t8);
4853    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t8, $t0", 0xfbde3976,
4854                              0x00000000, t0, t8, t0);
4855    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t6, $t1", 0x23534870,
4856                              0x00354565, t4, t6, t1);
4857    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t1, $t2", 0x980b7cde,
4858                              0x00086755, t0, t1, t2);
4859    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t3, $t4", 0x00000018,
4860                              0x8f8f8f8f, t2, t3, t4);
4861    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t1, $t5", 0x92784656,
4862                              0xeeeeeeee, t4, t1, t5);
4863    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t6, $t7, $t3", 0xcacacaca,
4864                              0x1bdbdbdb, t6, t7, t3);
4865    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t5, $t3, $t2", 0xbacabaca,
4866                              0xdecadeca, t5, t3, t2);
4867    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t4, $t8", 0x12fadeb4,
4868                              0x93474bde, t2, t4, t8);
4869    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t8, $t0", 0x7c000790,
4870                              0xfc0007ff, t0, t8, t0);
4871    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t6, $t1", 0xffffffff,
4872                              0xffffffff, t4, t6, t1);
4873    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t1, $t2", 0xffffffff,
4874                              0xcb4ab48f, t0, t1, t2);
4875    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t3, $t4", 0xffffffff,
4876                              0xaf8f7e18, t2, t3, t4);
4877    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t1, $t5", 0xffffffff,
4878                              0x87df4510, t4, t1, t5);
4879    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t6, $t7, $t3", 0xffffffff,
4880                              0xabf4e8e1, t6, t7, t3);
4881    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t5, $t3, $t2", 0xffffffff,
4882                              0xf4c0eeac, t5, t3, t2);
4883    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t2, $t4, $t8", 0x00000000,
4884                              0x006a54f2, t2, t4, t8);
4885    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t0, $t8, $t0", 0x00000000,
4886                              0x79f74493, t0, t8, t0);
4887    TESTDSPINST_RD_RS_RT_DSPC("muleu_s.ph.qbr $t4, $t6, $t1", 0xffffffff,
4888                              0x9c09e313, t4, t6, t1);
4889 
4890    printf("-------- MULQ_RS.PH --------\n");
4891    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
4892                              t0, t1, t2);
4893    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
4894                              t2, t3, t4);
4895    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
4896                              t4, t1, t5);
4897    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
4898                              t6, t7, t3);
4899    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
4900                              t5, t3, t2);
4901    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
4902                              t2, t4, t8);
4903    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
4904                              t0, t8, t0);
4905    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
4906                              t4, t6, t1);
4907    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
4908                              t2, t3, t4);
4909    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t1, $t5", 0xaaaa8000, 0x55558000,
4910                              t4, t1, t5);
4911    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
4912                              t6, t7, t3);
4913    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
4914                              t5, t3, t2);
4915    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
4916                              t2, t4, t8);
4917    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
4918                              t0, t8, t0);
4919    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
4920                              t4, t6, t1);
4921    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
4922                              t0, t1, t2);
4923    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
4924                              t2, t3, t4);
4925    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
4926                              t4, t1, t5);
4927    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
4928                              t6, t7, t3);
4929    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
4930                              t5, t3, t2);
4931    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
4932                              t2, t4, t8);
4933    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
4934                              t0, t8, t0);
4935    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
4936                              t4, t6, t1);
4937    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
4938                              t0, t1, t2);
4939    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
4940                              t2, t3, t4);
4941    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
4942                              t4, t1, t5);
4943    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
4944                              t6, t7, t3);
4945    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
4946                              t5, t3, t2);
4947    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
4948                              t2, t4, t8);
4949    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
4950                              t0, t8, t0);
4951    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
4952                              t4, t6, t1);
4953 
4954    printf("-------- MULSAQ_S.W.PH --------\n");
4955    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
4956                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
4957    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
4958                              1073741824, 0x00000000, 0x00000006, t0, t1);
4959    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
4960                              0x80003421, 0x00000000, 1073741824, t2, t3);
4961    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
4962                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
4963    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
4964                              0x80000000, 0x00000000, 0x00000001, t5, t3);
4965    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
4966                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
4967    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
4968                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
4969    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
4970                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
4971    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
4972                              0x00000000, 0x00000000, 0x55555555, t2, t3);
4973    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
4974                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
4975    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
4976                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
4977    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
4978                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
4979    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
4980                              0xabababab, 0x00000000, 0x00000000, t2, t4);
4981    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
4982                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
4983    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
4984                              0x00000000, 0x00000000, 0x12349876, t4, t5);
4985    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
4986                              0x00354565, 0x00000000, 0x00354565, t0, t1);
4987    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
4988                              0x00086755, 0x00000000, 0x00086755, t2, t3);
4989    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
4990                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
4991    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
4992                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
4993    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
4994                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
4995    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
4996                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
4997    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
4998                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
4999    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
5000                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
5001    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
5002                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
5003    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
5004                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
5005    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
5006                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
5007    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
5008                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
5009    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
5010                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
5011    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
5012                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
5013    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
5014                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
5015    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
5016                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
5017    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
5018                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
5019    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
5020                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
5021    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
5022                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
5023    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
5024                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
5025    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
5026                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
5027    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
5028                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
5029    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
5030                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
5031    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
5032                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
5033    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
5034                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
5035    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
5036                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
5037    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
5038                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
5039    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
5040                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
5041    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
5042                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
5043    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
5044                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
5045    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
5046                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
5047    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
5048                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
5049    TESTDSPINST_AC_RS_RT_DSPC("mulsaq_s.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
5050                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
5051 
5052    printf("-------- MULT --------\n");
5053    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t4, $t5", "ac3", 0x00000000,
5054                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
5055    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0x00000004,
5056                                1073741824, 0x00000000, 0x00000006, t0, t1);
5057    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0x80002435,
5058                                0x80003421, 0x00000000, 1073741824, t2, t3);
5059    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0x76548000,
5060                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
5061    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0x80000000,
5062                                0x80000000, 0x00000000, 0x00000001, t5, t3);
5063    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0x00010001,
5064                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
5065    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0x7fff7fff,
5066                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
5067    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0x0000c420,
5068                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
5069    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0x00000000,
5070                                0x00000000, 0x00000000, 0x55555555, t2, t3);
5071    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t4, $t1", "ac2", 0x80000000,
5072                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
5073    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
5074                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
5075    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0x00000018,
5076                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
5077    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0xbabababa,
5078                                0xabababab, 0x00000000, 0x00000000, t2, t4);
5079    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
5080                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
5081    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t4, $t5", "ac3", 0xfbde3976,
5082                                0x00000000, 0x00000000, 0x12349876, t4, t5);
5083    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0x23534870,
5084                                0x00354565, 0x00000000, 0x00354565, t0, t1);
5085    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0x980b7cde,
5086                                0x00086755, 0x00000000, 0x00086755, t2, t3);
5087    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t4, $t1", "ac2", 0x00000018,
5088                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
5089    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0x92784656,
5090                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
5091    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0xcacacaca,
5092                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
5093    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0xbacabaca,
5094                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
5095    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0x12fadeb4,
5096                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
5097    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t4, $t5", "ac3", 0x7c000790,
5098                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
5099    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0xffffffff,
5100                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
5101    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0x24a3291e,
5102                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
5103    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0xdd91eebf,
5104                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
5105    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
5106                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
5107    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0xbc1083e8,
5108                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
5109    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0xa617cc31,
5110                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
5111    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
5112                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
5113    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0x31458a23,
5114                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
5115    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t4, $t5", "ac3", 0x848af791,
5116                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
5117    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0xda3bacdc,
5118                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
5119    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0x649d5cbd,
5120                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
5121    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t4, $t1", "ac2", 0xc0c8c881,
5122                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
5123    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0x7dd81a20,
5124                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
5125    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0x7fff7fff,
5126                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
5127    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0x00000555,
5128                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
5129    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0x00000000,
5130                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
5131    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t4, $t5", "ac3", 0x80000000,
5132                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
5133    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0x55555555,
5134                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
5135    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t0, $t8", "ac2", 0xffff8000,
5136                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
5137    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t0, $t1", "ac0", 0xabababab,
5138                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
5139    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
5140                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
5141    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac2, $t4, $t1", "ac2", 0x00000000,
5142                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
5143    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac3, $t6, $t7", "ac3", 0x00354565,
5144                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
5145    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac0, $t5, $t3", "ac0", 0x00086755,
5146                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
5147    TESTDSPINST_AC_RS_RT_NODSPC("mult $ac1, $t2, $t4", "ac1", 0xffff8000,
5148                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
5149 
5150    printf("-------- MULTU --------\n");
5151    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t4, $t5", "ac3", 0x00000000,
5152                                0x00000000, 0xffffffff, 0x80000000, t4, t5);
5153    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0x00000004,
5154                                1073741824, 0x00000000, 0x00000006, t0, t1);
5155    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0x80002435,
5156                                0x80003421, 0x00000000, 1073741824, t2, t3);
5157    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0x76548000,
5158                                0x73468000, 0x00000000, 0x7fffffff, t6, t7);
5159    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0x80000000,
5160                                0x80000000, 0x00000000, 0x00000001, t5, t3);
5161    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0x00010001,
5162                                0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
5163    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0x7fff7fff,
5164                                0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
5165    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0x0000c420,
5166                                0x00000555, 0x00000000, 0x0fde3126, t0, t1);
5167    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0x00000000,
5168                                0x00000000, 0x00000000, 0x55555555, t2, t3);
5169    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t4, $t1", "ac2", 0x80000000,
5170                                0x80000000, 0xffffffff, 0xffff2435, t4, t1);
5171    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
5172                                0x55555555, 0xffffffff, 0xabababab, t6, t7);
5173    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0x00000018,
5174                                0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
5175    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0xbabababa,
5176                                0xabababab, 0x00000000, 0x00000000, t2, t4);
5177    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
5178                                0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
5179    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t4, $t5", "ac3", 0xfbde3976,
5180                                0x00000000, 0x00000000, 0x12349876, t4, t5);
5181    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0x23534870,
5182                                0x00354565, 0x00000000, 0x00354565, t0, t1);
5183    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0x980b7cde,
5184                                0x00086755, 0x00000000, 0x00086755, t2, t3);
5185    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t4, $t1", "ac2", 0x00000018,
5186                                0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
5187    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0x92784656,
5188                                0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
5189    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0xcacacaca,
5190                                0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
5191    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0xbacabaca,
5192                                0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
5193    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0x12fadeb4,
5194                                0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
5195    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t4, $t5", "ac3", 0x7c000790,
5196                                0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
5197    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0xffffffff,
5198                                0xffffffff, 0x00000000, 0x083b3571, t0, t8);
5199    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0x24a3291e,
5200                                0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
5201    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0xdd91eebf,
5202                                0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
5203    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
5204                                0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
5205    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0xbc1083e8,
5206                                0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
5207    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0xa617cc31,
5208                                0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
5209    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
5210                                0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
5211    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0x31458a23,
5212                                0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
5213    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t4, $t5", "ac3", 0x848af791,
5214                                0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
5215    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0xda3bacdc,
5216                                0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
5217    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0x649d5cbd,
5218                                0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
5219    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t4, $t1", "ac2", 0xc0c8c881,
5220                                0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
5221    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0x7dd81a20,
5222                                0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
5223    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0x7fff7fff,
5224                                0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
5225    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0x00000555,
5226                                0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
5227    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0x00000000,
5228                                0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
5229    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t4, $t5", "ac3", 0x80000000,
5230                                0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
5231    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0x55555555,
5232                                0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
5233    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t0, $t8", "ac2", 0xffff8000,
5234                                0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
5235    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t0, $t1", "ac0", 0xabababab,
5236                                0x87df4510, 0x00000000, 0x70974249, t0, t1);
5237    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
5238                                0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
5239    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac2, $t4, $t1", "ac2", 0x00000000,
5240                                0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
5241    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac3, $t6, $t7", "ac3", 0x00354565,
5242                                0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
5243    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac0, $t5, $t3", "ac0", 0x00086755,
5244                                0x79f74493, 0x00000000, 0x6731e282, t5, t3);
5245    TESTDSPINST_AC_RS_RT_NODSPC("multu $ac1, $t2, $t4", "ac1", 0xffff8000,
5246                                0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
5247 
5248    printf("-------- PACKRL.PH --------\n");
5249    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t1, $t2", 0x00000000,
5250                                0x00000000, t0, t1, t2);
5251    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t3, $t4", 0x045fb232,
5252                                0x00028632, t2, t3, t4);
5253    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t1, $t5", 0xfabc3435,
5254                                0xfabc3421, t4, t1, t5);
5255    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t6, $t7, $t3", 0x07654cb8,
5256                                0x734680bc, t6, t7, t3);
5257    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t5, $t3, $t2", 0xf973437b,
5258                                0x80000000, t5, t3, t2);
5259    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t4, $t8", 0x00ff0001,
5260                                0xff01ffff, t2, t4, t8);
5261    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t8, $t0", 0x7fff7fff,
5262                                0x7fff7fff, t0, t8, t0);
5263    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t6, $t1", 0x0000c420,
5264                                0x00000555, t4, t6, t1);
5265    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t1, $t2", 0x00000000,
5266                                0x00000000, t0, t1, t2);
5267    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t3, $t4", 0x80000000,
5268                                0x80000000, t2, t3, t4);
5269    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t1, $t5", 0xaaaaaaaa,
5270                                0x55555555, t4, t1, t5);
5271    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t6, $t7, $t3", 0x00000018,
5272                                0xffff2435, t6, t7, t3);
5273    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t5, $t3, $t2", 0xbabababa,
5274                                0xabababab, t5, t3, t2);
5275    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t4, $t8", 0xf0f0f0f0,
5276                                0xfc79b4d2, t2, t4, t8);
5277    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t8, $t0", 0xfbde3976,
5278                                0x00000000, t0, t8, t0);
5279    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t6, $t1", 0x23534870,
5280                                0x00354565, t4, t6, t1);
5281    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t1, $t2", 0x980b7cde,
5282                                0x00086755, t0, t1, t2);
5283    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t3, $t4", 0x00000018,
5284                                0x8f8f8f8f, t2, t3, t4);
5285    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t1, $t5", 0x92784656,
5286                                0xeeeeeeee, t4, t1, t5);
5287    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t6, $t7, $t3", 0xcacacaca,
5288                                0x1bdbdbdb, t6, t7, t3);
5289    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t5, $t3, $t2", 0xbacabaca,
5290                                0xdecadeca, t5, t3, t2);
5291    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t4, $t8", 0x12fadeb4,
5292                                0x93474bde, t2, t4, t8);
5293    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t8, $t0", 0x7c000790,
5294                                0xfc0007ff, t0, t8, t0);
5295    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t6, $t1", 0xffffffff,
5296                                0xffffffff, t4, t6, t1);
5297    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t1, $t2", 0xf2f4df1f,
5298                                0xcb4ab48f, t0, t1, t2);
5299    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t3, $t4", 0x435f909a,
5300                                0xaf8f7e18, t2, t3, t4);
5301    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t1, $t5", 0x2106ba5f,
5302                                0x87df4510, t4, t1, t5);
5303    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t6, $t7, $t3", 0x246a6376,
5304                                0xabf4e8e1, t6, t7, t3);
5305    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t5, $t3, $t2", 0x1046a1a3,
5306                                0xf4c0eeac, t5, t3, t2);
5307    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t2, $t4, $t8", 0x638ca515,
5308                                0x006a54f2, t2, t4, t8);
5309    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t0, $t8, $t0", 0xf63e7a9d,
5310                                0x79f74493, t0, t8, t0);
5311    TESTDSPINST_RD_RS_RT_NODSPC("packrl.ph $t4, $t6, $t1", 0xbd6845cd,
5312                                0x9c09e313, t4, t6, t1);
5313 
5314    printf("-------- PICK.QB --------\n");
5315    TESTDSPINST_PICK("pick.qb $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0xf973437b,
5316                     0x807343bc, t5, t3, t2);
5317    TESTDSPINST_PICK("pick.qb $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0x00ff0001,
5318                     0x00ff0001, t2, t4, t8);
5319    TESTDSPINST_PICK("pick.qb $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0x7fff7fff,
5320                     0x7fff7fff, t3, t8, t0);
5321    TESTDSPINST_PICK("pick.qb $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0x0000c420,
5322                     0x00000555, t4, t6, t1);
5323    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0xf973437b,
5324                     0x807342bc, t2, t3, t4);
5325    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0x00ff0001,
5326                     0xff0100ff, t4, t1, t5);
5327    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0x7fff7fff,
5328                     0x7fff7fff, t6, t7, t3);
5329    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0x0000c420,
5330                     0x00000555, t0, t1, t2);
5331    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0xf973437b,
5332                     0x807342bc, t2, t3, t4);
5333    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0x00ff0001,
5334                     0xff0100ff, t4, t1, t5);
5335    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0x7fff7fff,
5336                     0x7fff7fff, t6, t7, t3);
5337    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0x0000c420,
5338                     0x00000555, t0, t1, t2);
5339    TESTDSPINST_PICK("pick.qb $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0x1046a1a3,
5340                     0xf4c0eeac, t5, t3, t2);
5341    TESTDSPINST_PICK("pick.qb $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0x638ca515,
5342                     0x006a54f2, t2, t4, t8);
5343    TESTDSPINST_PICK("pick.qb $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0xf63e7a9d,
5344                     0x79f74493, t3, t8, t0);
5345    TESTDSPINST_PICK("pick.qb $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0xbd6845cd,
5346                     0x9c09e313, t4, t6, t1);
5347    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0x1046a1a3,
5348                     0xf4c0eeac, t2, t3, t4);
5349    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0x638ca515,
5350                     0x006a54f2, t4, t1, t5);
5351    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0xf63e7a9d,
5352                     0x79f74493, t6, t7, t3);
5353    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0xbd6845cd,
5354                     0x9c09e313, t0, t1, t2);
5355    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0x1046a1a3,
5356                     0xf4c0eeac, t2, t3, t4);
5357    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0x638ca515,
5358                     0x006a54f2, t4, t1, t5);
5359    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0xf63e7a9d,
5360                     0x79f74493, t6, t7, t3);
5361    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0xbd6845cd,
5362                     0x9c09e313, t0, t1, t2);
5363    TESTDSPINST_PICK("pick.qb $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0x92784656,
5364                     0xeeeeeeee, t5, t3, t2);
5365    TESTDSPINST_PICK("pick.qb $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0xcacacaca,
5366                     0x1bdbdbdb, t2, t4, t8);
5367    TESTDSPINST_PICK("pick.qb $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0xbacabaca,
5368                     0xdecadeca, t3, t8, t0);
5369    TESTDSPINST_PICK("pick.qb $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0x12fadeb4,
5370                     0x93474bde, t4, t6, t1);
5371    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0x92784656,
5372                     0xeeeeeeee, t2, t3, t4);
5373    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0xcacacaca,
5374                     0x1bdbdbdb, t4, t1, t5);
5375    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0xbacabaca,
5376                     0xdecadeca, t6, t7, t3);
5377    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0x12fadeb4,
5378                     0x93474bde, t0, t1, t2);
5379    TESTDSPINST_PICK("pick.qb $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0x92784656,
5380                     0xeeeeeeee, t2, t3, t4);
5381    TESTDSPINST_PICK("pick.qb $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0xcacacaca,
5382                     0x1bdbdbdb, t4, t1, t5);
5383    TESTDSPINST_PICK("pick.qb $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0xbacabaca,
5384                     0xdecadeca, t6, t7, t3);
5385    TESTDSPINST_PICK("pick.qb $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0x12fadeb4,
5386                     0x93474bde, t0, t1, t2);
5387 
5388    printf("-------- PRECEQ.W.PHL --------\n");
5389    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t1", 0x00000000, t0, t1);
5390    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t3", 0x80003286, t2, t3);
5391    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t1", 0xfabc2435, t4, t1);
5392    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t6, $t7", 0x73468000, t6, t7);
5393    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t5, $t3", 0x80000000, t5, t3);
5394    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t4", 0xffffffff, t2, t4);
5395    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t8", 0xfff45fff, t0, t8);
5396    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t4", 0x00000555, t4, t4);
5397    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t1", 0x00005340, t0, t1);
5398    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t3", 0x80000000, t2, t3);
5399    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t1", 0x55555555, t4, t1);
5400    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t6, $t7", 0xffff2435, t6, t7);
5401    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t5, $t3", 0xabababab, t5, t3);
5402    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t4", 0xfc79b4d2, t2, t4);
5403    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t8", 0x00000000, t0, t8);
5404    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t4", 0x00354565, t4, t4);
5405    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t1", 0x00086755, t0, t1);
5406    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t3", 0x8f8f8f8f, t2, t3);
5407    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t1", 0xeeeeeeee, t4, t1);
5408    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t6, $t7", 0x1bdbdbdb, t6, t7);
5409    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t5, $t3", 0xdecadeca, t5, t3);
5410    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t4", 0x93474bde, t2, t4);
5411    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t8", 0xfc0007ff, t0, t8);
5412    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t4", 0xffffffff, t4, t4);
5413    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t1", 0xcb4ab48f, t0, t1);
5414    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t3", 0xaf8f7e18, t2, t3);
5415    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t1", 0x87df4510, t4, t1);
5416    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t6, $t7", 0xabf4e8e1, t6, t7);
5417    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t5, $t3", 0xf4c0eeac, t5, t3);
5418    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t2, $t4", 0x006a54f2, t2, t4);
5419    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t0, $t8", 0x79f74493, t0, t8);
5420    TESTDSPINST_RD_RT_NODSPC("preceq.w.phl $t4, $t4", 0x9c09e313, t4, t4);
5421 
5422    printf("-------- PICK.PH --------\n");
5423    TESTDSPINST_PICK("pick.ph $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0xf973437b,
5424                     0x807343bc, t5, t3, t2);
5425    TESTDSPINST_PICK("pick.ph $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0x00ff0001,
5426                     0x00ff0001, t2, t4, t8);
5427    TESTDSPINST_PICK("pick.ph $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0x7fff7fff,
5428                     0x7fff7fff, t3, t8, t0);
5429    TESTDSPINST_PICK("pick.ph $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0x0000c420,
5430                     0x00000555, t4, t6, t1);
5431    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0xf973437b,
5432                     0x807342bc, t2, t3, t4);
5433    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0x00ff0001,
5434                     0xff0100ff, t4, t1, t5);
5435    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0x7fff7fff,
5436                     0x7fff7fff, t6, t7, t3);
5437    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0x0000c420,
5438                     0x00000555, t0, t1, t2);
5439    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0xf973437b,
5440                     0x807342bc, t2, t3, t4);
5441    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0x00ff0001,
5442                     0xff0100ff, t4, t1, t5);
5443    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0x7fff7fff,
5444                     0x7fff7fff, t6, t7, t3);
5445    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0x0000c420,
5446                     0x00000555, t0, t1, t2);
5447    TESTDSPINST_PICK("pick.ph $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0x1046a1a3,
5448                     0xf4c0eeac, t5, t3, t2);
5449    TESTDSPINST_PICK("pick.ph $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0x638ca515,
5450                     0x006a54f2, t2, t4, t8);
5451    TESTDSPINST_PICK("pick.ph $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0xf63e7a9d,
5452                     0x79f74493, t3, t8, t0);
5453    TESTDSPINST_PICK("pick.ph $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0xbd6845cd,
5454                     0x9c09e313, t4, t6, t1);
5455    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0x1046a1a3,
5456                     0xf4c0eeac, t2, t3, t4);
5457    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0x638ca515,
5458                     0x006a54f2, t4, t1, t5);
5459    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0xf63e7a9d,
5460                     0x79f74493, t6, t7, t3);
5461    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0xbd6845cd,
5462                     0x9c09e313, t0, t1, t2);
5463    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0x1046a1a3,
5464                     0xf4c0eeac, t2, t3, t4);
5465    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0x638ca515,
5466                     0x006a54f2, t4, t1, t5);
5467    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0xf63e7a9d,
5468                     0x79f74493, t6, t7, t3);
5469    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0xbd6845cd,
5470                     0x9c09e313, t0, t1, t2);
5471    TESTDSPINST_PICK("pick.ph $t5, $t3, $t2", "cmp.eq.ph $t3, $t2", 0x92784656,
5472                     0xeeeeeeee, t5, t3, t2);
5473    TESTDSPINST_PICK("pick.ph $t2, $t4, $t8", "cmp.eq.ph $t4, $t8", 0xcacacaca,
5474                     0x1bdbdbdb, t2, t4, t8);
5475    TESTDSPINST_PICK("pick.ph $t3, $t8, $t0", "cmp.eq.ph $t8, $t0", 0xbacabaca,
5476                     0xdecadeca, t3, t8, t0);
5477    TESTDSPINST_PICK("pick.ph $t4, $t6, $t1", "cmp.eq.ph $t6, $t1", 0x12fadeb4,
5478                     0x93474bde, t4, t6, t1);
5479    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.lt.ph $t3, $t4", 0x92784656,
5480                     0xeeeeeeee, t2, t3, t4);
5481    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.lt.ph $t1, $t5", 0xcacacaca,
5482                     0x1bdbdbdb, t4, t1, t5);
5483    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.lt.ph $t7, $t3", 0xbacabaca,
5484                     0xdecadeca, t6, t7, t3);
5485    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.lt.ph $t1, $t2", 0x12fadeb4,
5486                     0x93474bde, t0, t1, t2);
5487    TESTDSPINST_PICK("pick.ph $t2, $t3, $t4", "cmp.le.ph $t3, $t4", 0x92784656,
5488                     0xeeeeeeee, t2, t3, t4);
5489    TESTDSPINST_PICK("pick.ph $t4, $t1, $t5", "cmp.le.ph $t1, $t5", 0xcacacaca,
5490                     0x1bdbdbdb, t4, t1, t5);
5491    TESTDSPINST_PICK("pick.ph $t6, $t7, $t3", "cmp.le.ph $t7, $t3", 0xbacabaca,
5492                     0xdecadeca, t6, t7, t3);
5493    TESTDSPINST_PICK("pick.ph $t0, $t1, $t2", "cmp.le.ph $t1, $t2", 0x12fadeb4,
5494                     0x93474bde, t0, t1, t2);
5495 
5496    printf("-------- PRECEQ.W.PHR --------\n");
5497    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t1", 0x00000000, t0, t1);
5498    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t3", 0x80003286, t2, t3);
5499    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t1", 0xfabc2435, t4, t1);
5500    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t6, $t7", 0x73468000, t6, t7);
5501    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t5, $t3", 0x80000000, t5, t3);
5502    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t4", 0xffffffff, t2, t4);
5503    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t8", 0xfff45fff, t0, t8);
5504    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t4", 0x00000555, t4, t4);
5505    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t1", 0x00005340, t0, t1);
5506    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t3", 0x80000000, t2, t3);
5507    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t1", 0x55555555, t4, t1);
5508    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t6, $t7", 0xffff2435, t6, t7);
5509    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t5, $t3", 0xabababab, t5, t3);
5510    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t4", 0xfc79b4d2, t2, t4);
5511    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t8", 0x00000000, t0, t8);
5512    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t4", 0x00354565, t4, t4);
5513    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t1", 0x00086755, t0, t1);
5514    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t3", 0x8f8f8f8f, t2, t3);
5515    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t1", 0xeeeeeeee, t4, t1);
5516    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t6, $t7", 0x1bdbdbdb, t6, t7);
5517    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t5, $t3", 0xdecadeca, t5, t3);
5518    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t4", 0x93474bde, t2, t4);
5519    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t8", 0xfc0007ff, t0, t8);
5520    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t4", 0xffffffff, t4, t4);
5521    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t1", 0xcb4ab48f, t0, t1);
5522    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t3", 0xaf8f7e18, t2, t3);
5523    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t1", 0x87df4510, t4, t1);
5524    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t6, $t7", 0xabf4e8e1, t6, t7);
5525    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t5, $t3", 0xf4c0eeac, t5, t3);
5526    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t2, $t4", 0x006a54f2, t2, t4);
5527    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t0, $t8", 0x79f74493, t0, t8);
5528    TESTDSPINST_RD_RT_NODSPC("preceq.w.phr $t4, $t4", 0x9c09e313, t4, t4);
5529 
5530    printf("-------- PRECEQU.PH.QBL --------\n");
5531    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t1", 0x00000000, t0, t1);
5532    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t3", 0x80003286, t2, t3);
5533    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t1", 0xfabc2435, t4, t1);
5534    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t6, $t7", 0x73468000, t6, t7);
5535    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t5, $t3", 0x80000000, t5, t3);
5536    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t4", 0xffffffff, t2, t4);
5537    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t8", 0xfff45fff, t0, t8);
5538    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t4", 0x00000555, t4, t4);
5539    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t1", 0x00005340, t0, t1);
5540    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t3", 0x80000000, t2, t3);
5541    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t1", 0x55555555, t4, t1);
5542    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t6, $t7", 0xffff2435, t6, t7);
5543    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t5, $t3", 0xabababab, t5, t3);
5544    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t4", 0xfc79b4d2, t2, t4);
5545    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t8", 0x00000000, t0, t8);
5546    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t4", 0x00354565, t4, t4);
5547    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t1", 0x00086755, t0, t1);
5548    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t3", 0x8f8f8f8f, t2, t3);
5549    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t1", 0xeeeeeeee, t4, t1);
5550    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t6, $t7", 0x1bdbdbdb, t6, t7);
5551    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t5, $t3", 0xdecadeca, t5, t3);
5552    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t4", 0x93474bde, t2, t4);
5553    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t8", 0xfc0007ff, t0, t8);
5554    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t4", 0xffffffff, t4, t4);
5555    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t1", 0xcb4ab48f, t0, t1);
5556    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t3", 0xaf8f7e18, t2, t3);
5557    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t1", 0x87df4510, t4, t1);
5558    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t6, $t7", 0xabf4e8e1, t6, t7);
5559    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t5, $t3", 0xf4c0eeac, t5, t3);
5560    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t2, $t4", 0x006a54f2, t2, t4);
5561    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t0, $t8", 0x79f74493, t0, t8);
5562    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbl $t4, $t4", 0x9c09e313, t4, t4);
5563 
5564    printf("-------- PRECEQU.PH.QBLA --------\n");
5565    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t1", 0x00000000, t0, t1);
5566    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t3", 0x80003286, t2, t3);
5567    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t1", 0xfabc2435, t4, t1);
5568    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t6, $t7", 0x73468000, t6, t7);
5569    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t5, $t3", 0x80000000, t5, t3);
5570    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t4", 0xffffffff, t2, t4);
5571    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t8", 0xfff45fff, t0, t8);
5572    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t4", 0x00000555, t4, t4);
5573    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t1", 0x00005340, t0, t1);
5574    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t3", 0x80000000, t2, t3);
5575    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t1", 0x55555555, t4, t1);
5576    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t6, $t7", 0xffff2435, t6, t7);
5577    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t5, $t3", 0xabababab, t5, t3);
5578    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t4", 0xfc79b4d2, t2, t4);
5579    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t8", 0x00000000, t0, t8);
5580    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t4", 0x00354565, t4, t4);
5581    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t1", 0x00086755, t0, t1);
5582    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t3", 0x8f8f8f8f, t2, t3);
5583    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t1", 0xeeeeeeee, t4, t1);
5584    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t6, $t7", 0x1bdbdbdb, t6, t7);
5585    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t5, $t3", 0xdecadeca, t5, t3);
5586    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t4", 0x93474bde, t2, t4);
5587    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t8", 0xfc0007ff, t0, t8);
5588    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t4", 0xffffffff, t4, t4);
5589    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t1", 0xcb4ab48f, t0, t1);
5590    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t3", 0xaf8f7e18, t2, t3);
5591    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t1", 0x87df4510, t4, t1);
5592    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t6, $t7", 0xabf4e8e1, t6, t7);
5593    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t5, $t3", 0xf4c0eeac, t5, t3);
5594    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t2, $t4", 0x006a54f2, t2, t4);
5595    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t0, $t8", 0x79f74493, t0, t8);
5596    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbla $t4, $t4", 0x9c09e313, t4, t4);
5597 
5598    printf("-------- PRECEQU.PH.QBR --------\n");
5599    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t1", 0x00000000, t0, t1);
5600    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t3", 0x80003286, t2, t3);
5601    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t1", 0xfabc2435, t4, t1);
5602    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t6, $t7", 0x73468000, t6, t7);
5603    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t5, $t3", 0x80000000, t5, t3);
5604    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t4", 0xffffffff, t2, t4);
5605    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t8", 0xfff45fff, t0, t8);
5606    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t4", 0x00000555, t4, t4);
5607    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t1", 0x00005340, t0, t1);
5608    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t3", 0x80000000, t2, t3);
5609    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t1", 0x55555555, t4, t1);
5610    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t6, $t7", 0xffff2435, t6, t7);
5611    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t5, $t3", 0xabababab, t5, t3);
5612    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t4", 0xfc79b4d2, t2, t4);
5613    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t8", 0x00000000, t0, t8);
5614    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t4", 0x00354565, t4, t4);
5615    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t1", 0x00086755, t0, t1);
5616    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t3", 0x8f8f8f8f, t2, t3);
5617    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t1", 0xeeeeeeee, t4, t1);
5618    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t6, $t7", 0x1bdbdbdb, t6, t7);
5619    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t5, $t3", 0xdecadeca, t5, t3);
5620    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t4", 0x93474bde, t2, t4);
5621    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t8", 0xfc0007ff, t0, t8);
5622    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t4", 0xffffffff, t4, t4);
5623    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t1", 0xcb4ab48f, t0, t1);
5624    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t3", 0xaf8f7e18, t2, t3);
5625    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t1", 0x87df4510, t4, t1);
5626    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t6, $t7", 0xabf4e8e1, t6, t7);
5627    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t5, $t3", 0xf4c0eeac, t5, t3);
5628    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t2, $t4", 0x006a54f2, t2, t4);
5629    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t0, $t8", 0x79f74493, t0, t8);
5630    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbr $t4, $t4", 0x9c09e313, t4, t4);
5631 
5632    printf("-------- PRECEQU.PH.QBRA --------\n");
5633    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t1", 0x00000000, t0, t1);
5634    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t3", 0x80003286, t2, t3);
5635    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t1", 0xfabc2435, t4, t1);
5636    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t6, $t7", 0x73468000, t6, t7);
5637    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t5, $t3", 0x80000000, t5, t3);
5638    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t4", 0xffffffff, t2, t4);
5639    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t8", 0xfff45fff, t0, t8);
5640    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t4", 0x00000555, t4, t4);
5641    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t1", 0x00005340, t0, t1);
5642    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t3", 0x80000000, t2, t3);
5643    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t1", 0x55555555, t4, t1);
5644    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t6, $t7", 0xffff2435, t6, t7);
5645    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t5, $t3", 0xabababab, t5, t3);
5646    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t4", 0xfc79b4d2, t2, t4);
5647    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t8", 0x00000000, t0, t8);
5648    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t4", 0x00354565, t4, t4);
5649    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t1", 0x00086755, t0, t1);
5650    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t3", 0x8f8f8f8f, t2, t3);
5651    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t1", 0xeeeeeeee, t4, t1);
5652    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t6, $t7", 0x1bdbdbdb, t6, t7);
5653    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t5, $t3", 0xdecadeca, t5, t3);
5654    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t4", 0x93474bde, t2, t4);
5655    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t8", 0xfc0007ff, t0, t8);
5656    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t4", 0xffffffff, t4, t4);
5657    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t1", 0xcb4ab48f, t0, t1);
5658    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t3", 0xaf8f7e18, t2, t3);
5659    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t1", 0x87df4510, t4, t1);
5660    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t6, $t7", 0xabf4e8e1, t6, t7);
5661    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t5, $t3", 0xf4c0eeac, t5, t3);
5662    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t2, $t4", 0x006a54f2, t2, t4);
5663    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t0, $t8", 0x79f74493, t0, t8);
5664    TESTDSPINST_RD_RT_NODSPC("precequ.ph.qbra $t4, $t4", 0x9c09e313, t4, t4);
5665 
5666    printf("-------- PRECEU.PH.QBL --------\n");
5667    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t1", 0x00000000, t0, t1);
5668    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t3", 0x80003286, t2, t3);
5669    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t1", 0xfabc2435, t4, t1);
5670    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t6, $t7", 0x73468000, t6, t7);
5671    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t5, $t3", 0x80000000, t5, t3);
5672    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t4", 0xffffffff, t2, t4);
5673    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t8", 0xfff45fff, t0, t8);
5674    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t4", 0x00000555, t4, t4);
5675    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t1", 0x00005340, t0, t1);
5676    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t3", 0x80000000, t2, t3);
5677    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t1", 0x55555555, t4, t1);
5678    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t6, $t7", 0xffff2435, t6, t7);
5679    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t5, $t3", 0xabababab, t5, t3);
5680    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t4", 0xfc79b4d2, t2, t4);
5681    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t8", 0x00000000, t0, t8);
5682    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t4", 0x00354565, t4, t4);
5683    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t1", 0x00086755, t0, t1);
5684    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t3", 0x8f8f8f8f, t2, t3);
5685    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t1", 0xeeeeeeee, t4, t1);
5686    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t6, $t7", 0x1bdbdbdb, t6, t7);
5687    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t5, $t3", 0xdecadeca, t5, t3);
5688    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t4", 0x93474bde, t2, t4);
5689    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t8", 0xfc0007ff, t0, t8);
5690    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t4", 0xffffffff, t4, t4);
5691    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t1", 0xcb4ab48f, t0, t1);
5692    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t3", 0xaf8f7e18, t2, t3);
5693    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t1", 0x87df4510, t4, t1);
5694    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t6, $t7", 0xabf4e8e1, t6, t7);
5695    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t5, $t3", 0xf4c0eeac, t5, t3);
5696    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t2, $t4", 0x006a54f2, t2, t4);
5697    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t0, $t8", 0x79f74493, t0, t8);
5698    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbl $t4, $t4", 0x9c09e313, t4, t4);
5699 
5700    printf("-------- PRECEU.PH.QBLA --------\n");
5701    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t1", 0x00000000, t0, t1);
5702    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t3", 0x80003286, t2, t3);
5703    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t1", 0xfabc2435, t4, t1);
5704    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t6, $t7", 0x73468000, t6, t7);
5705    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t5, $t3", 0x80000000, t5, t3);
5706    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t4", 0xffffffff, t2, t4);
5707    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t8", 0xfff45fff, t0, t8);
5708    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t4", 0x00000555, t4, t4);
5709    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t1", 0x00005340, t0, t1);
5710    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t3", 0x80000000, t2, t3);
5711    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t1", 0x55555555, t4, t1);
5712    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t6, $t7", 0xffff2435, t6, t7);
5713    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t5, $t3", 0xabababab, t5, t3);
5714    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t4", 0xfc79b4d2, t2, t4);
5715    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t8", 0x00000000, t0, t8);
5716    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t4", 0x00354565, t4, t4);
5717    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t1", 0x00086755, t0, t1);
5718    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t3", 0x8f8f8f8f, t2, t3);
5719    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t1", 0xeeeeeeee, t4, t1);
5720    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t6, $t7", 0x1bdbdbdb, t6, t7);
5721    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t5, $t3", 0xdecadeca, t5, t3);
5722    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t4", 0x93474bde, t2, t4);
5723    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t8", 0xfc0007ff, t0, t8);
5724    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t4", 0xffffffff, t4, t4);
5725    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t1", 0xcb4ab48f, t0, t1);
5726    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t3", 0xaf8f7e18, t2, t3);
5727    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t1", 0x87df4510, t4, t1);
5728    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t6, $t7", 0xabf4e8e1, t6, t7);
5729    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t5, $t3", 0xf4c0eeac, t5, t3);
5730    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t2, $t4", 0x006a54f2, t2, t4);
5731    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t0, $t8", 0x79f74493, t0, t8);
5732    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbla $t4, $t4", 0x9c09e313, t4, t4);
5733 
5734    printf("-------- PRECEU.PH.QBR --------\n");
5735    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t1", 0x00000000, t0, t1);
5736    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t3", 0x80003286, t2, t3);
5737    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t1", 0xfabc2435, t4, t1);
5738    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t6, $t7", 0x73468000, t6, t7);
5739    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t5, $t3", 0x80000000, t5, t3);
5740    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t4", 0xffffffff, t2, t4);
5741    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t8", 0xfff45fff, t0, t8);
5742    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t4", 0x00000555, t4, t4);
5743    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t1", 0x00005340, t0, t1);
5744    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t3", 0x80000000, t2, t3);
5745    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t1", 0x55555555, t4, t1);
5746    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t6, $t7", 0xffff2435, t6, t7);
5747    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t5, $t3", 0xabababab, t5, t3);
5748    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t4", 0xfc79b4d2, t2, t4);
5749    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t8", 0x00000000, t0, t8);
5750    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t4", 0x00354565, t4, t4);
5751    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t1", 0x00086755, t0, t1);
5752    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t3", 0x8f8f8f8f, t2, t3);
5753    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t1", 0xeeeeeeee, t4, t1);
5754    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t6, $t7", 0x1bdbdbdb, t6, t7);
5755    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t5, $t3", 0xdecadeca, t5, t3);
5756    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t4", 0x93474bde, t2, t4);
5757    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t8", 0xfc0007ff, t0, t8);
5758    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t4", 0xffffffff, t4, t4);
5759    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t1", 0xcb4ab48f, t0, t1);
5760    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t3", 0xaf8f7e18, t2, t3);
5761    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t1", 0x87df4510, t4, t1);
5762    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t6, $t7", 0xabf4e8e1, t6, t7);
5763    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t5, $t3", 0xf4c0eeac, t5, t3);
5764    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t2, $t4", 0x006a54f2, t2, t4);
5765    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t0, $t8", 0x79f74493, t0, t8);
5766    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbr $t4, $t4", 0x9c09e313, t4, t4);
5767 
5768    printf("-------- PRECEU.PH.QBRA --------\n");
5769    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t1", 0x00000000, t0, t1);
5770    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t3", 0x80003286, t2, t3);
5771    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t1", 0xfabc2435, t4, t1);
5772    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t6, $t7", 0x73468000, t6, t7);
5773    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t5, $t3", 0x80000000, t5, t3);
5774    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t4", 0xffffffff, t2, t4);
5775    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t8", 0xfff45fff, t0, t8);
5776    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t4", 0x00000555, t4, t4);
5777    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t1", 0x00005340, t0, t1);
5778    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t3", 0x80000000, t2, t3);
5779    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t1", 0x55555555, t4, t1);
5780    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t6, $t7", 0xffff2435, t6, t7);
5781    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t5, $t3", 0xabababab, t5, t3);
5782    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t4", 0xfc79b4d2, t2, t4);
5783    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t8", 0x00000000, t0, t8);
5784    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t4", 0x00354565, t4, t4);
5785    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t1", 0x00086755, t0, t1);
5786    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t3", 0x8f8f8f8f, t2, t3);
5787    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t1", 0xeeeeeeee, t4, t1);
5788    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t6, $t7", 0x1bdbdbdb, t6, t7);
5789    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t5, $t3", 0xdecadeca, t5, t3);
5790    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t4", 0x93474bde, t2, t4);
5791    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t8", 0xfc0007ff, t0, t8);
5792    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t4", 0xffffffff, t4, t4);
5793    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t1", 0xcb4ab48f, t0, t1);
5794    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t3", 0xaf8f7e18, t2, t3);
5795    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t1", 0x87df4510, t4, t1);
5796    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t6, $t7", 0xabf4e8e1, t6, t7);
5797    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t5, $t3", 0xf4c0eeac, t5, t3);
5798    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t2, $t4", 0x006a54f2, t2, t4);
5799    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t0, $t8", 0x79f74493, t0, t8);
5800    TESTDSPINST_RD_RT_NODSPC("preceu.ph.qbra $t4, $t4", 0x9c09e313, t4, t4);
5801 
5802    printf("-------- PRECRQ.QB.PH --------\n");
5803    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t1, $t2", 0x00000000,
5804                                0x00000000, t0, t1, t2);
5805    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t3, $t4", 0x045fb232,
5806                                0x00028632, t2, t3, t4);
5807    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t1, $t5", 0xfabc3435,
5808                                0xfabc3421, t4, t1, t5);
5809    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t6, $t7, $t3", 0x07654cb8,
5810                                0x734680bc, t6, t7, t3);
5811    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t5, $t3, $t2", 0xf973437b,
5812                                0x80000000, t5, t3, t2);
5813    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t4, $t8", 0x00ff0001,
5814                                0xff01ffff, t2, t4, t8);
5815    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t8, $t0", 0x7fff7fff,
5816                                0x7fff7fff, t0, t8, t0);
5817    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t6, $t1", 0x0000c420,
5818                                0x00000555, t4, t6, t1);
5819    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t1, $t2", 0x00000000,
5820                                0x00000000, t0, t1, t2);
5821    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t3, $t4", 0x80000000,
5822                                0x80000000, t2, t3, t4);
5823    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t1, $t5", 0xaaaaaaaa,
5824                                0x55555555, t4, t1, t5);
5825    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t6, $t7, $t3", 0x00000018,
5826                                0xffff2435, t6, t7, t3);
5827    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t5, $t3, $t2", 0xbabababa,
5828                                0xabababab, t5, t3, t2);
5829    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t4, $t8", 0xf0f0f0f0,
5830                                0xfc79b4d2, t2, t4, t8);
5831    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t8, $t0", 0xfbde3976,
5832                                0x00000000, t0, t8, t0);
5833    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t6, $t1", 0x23534870,
5834                                0x00354565, t4, t6, t1);
5835    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t1, $t2", 0x980b7cde,
5836                                0x00086755, t0, t1, t2);
5837    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t3, $t4", 0x00000018,
5838                                0x8f8f8f8f, t2, t3, t4);
5839    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t1, $t5", 0x92784656,
5840                                0xeeeeeeee, t4, t1, t5);
5841    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t6, $t7, $t3", 0xcacacaca,
5842                                0x1bdbdbdb, t6, t7, t3);
5843    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t5, $t3, $t2", 0xbacabaca,
5844                                0xdecadeca, t5, t3, t2);
5845    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t4, $t8", 0x12fadeb4,
5846                                0x93474bde, t2, t4, t8);
5847    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t8, $t0", 0x7c000790,
5848                                0xfc0007ff, t0, t8, t0);
5849    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t6, $t1", 0xffffffff,
5850                                0xffffffff, t4, t6, t1);
5851    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t1, $t2", 0xf2f4df1f,
5852                                0xcb4ab48f, t0, t1, t2);
5853    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t3, $t4", 0x435f909a,
5854                                0xaf8f7e18, t2, t3, t4);
5855    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t1, $t5", 0x2106ba5f,
5856                                0x87df4510, t4, t1, t5);
5857    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t6, $t7, $t3", 0x246a6376,
5858                                0xabf4e8e1, t6, t7, t3);
5859    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t5, $t3, $t2", 0x1046a1a3,
5860                                0xf4c0eeac, t5, t3, t2);
5861    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t2, $t4, $t8", 0x638ca515,
5862                                0x006a54f2, t2, t4, t8);
5863    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t0, $t8, $t0", 0xf63e7a9d,
5864                                0x79f74493, t0, t8, t0);
5865    TESTDSPINST_RD_RS_RT_NODSPC("precrq.qb.ph $t4, $t6, $t1", 0xbd6845cd,
5866                                0x9c09e313, t4, t6, t1);
5867 
5868    printf("-------- PRECRQ.PH.W --------\n");
5869    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t1, $t2", 0x00000000,
5870                                0x00000000, t0, t1, t2);
5871    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t3, $t4", 0x045fb232,
5872                                0x00028632, t2, t3, t4);
5873    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t1, $t5", 0xfabc3435,
5874                                0xfabc3421, t4, t1, t5);
5875    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t6, $t7, $t3", 0x07654cb8,
5876                                0x734680bc, t6, t7, t3);
5877    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t5, $t3, $t2", 0xf973437b,
5878                                0x80000000, t5, t3, t2);
5879    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t4, $t8", 0x00ff0001,
5880                                0xff01ffff, t2, t4, t8);
5881    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t8, $t0", 0x7fff7fff,
5882                                0x7fff7fff, t0, t8, t0);
5883    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t6, $t1", 0x0000c420,
5884                                0x00000555, t4, t6, t1);
5885    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t1, $t2", 0x00000000,
5886                                0x00000000, t0, t1, t2);
5887    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t3, $t4", 0x80000000,
5888                                0x80000000, t2, t3, t4);
5889    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t1, $t5", 0xaaaaaaaa,
5890                                0x55555555, t4, t1, t5);
5891    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t6, $t7, $t3", 0x00000018,
5892                                0xffff2435, t6, t7, t3);
5893    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t5, $t3, $t2", 0xbabababa,
5894                                0xabababab, t5, t3, t2);
5895    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t4, $t8", 0xf0f0f0f0,
5896                                0xfc79b4d2, t2, t4, t8);
5897    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t8, $t0", 0xfbde3976,
5898                                0x00000000, t0, t8, t0);
5899    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t6, $t1", 0x23534870,
5900                                0x00354565, t4, t6, t1);
5901    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t1, $t2", 0x980b7cde,
5902                                0x00086755, t0, t1, t2);
5903    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t3, $t4", 0x00000018,
5904                                0x8f8f8f8f, t2, t3, t4);
5905    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t1, $t5", 0x92784656,
5906                                0xeeeeeeee, t4, t1, t5);
5907    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t6, $t7, $t3", 0xcacacaca,
5908                                0x1bdbdbdb, t6, t7, t3);
5909    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t5, $t3, $t2", 0xbacabaca,
5910                                0xdecadeca, t5, t3, t2);
5911    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t4, $t8", 0x12fadeb4,
5912                                0x93474bde, t2, t4, t8);
5913    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t8, $t0", 0x7c000790,
5914                                0xfc0007ff, t0, t8, t0);
5915    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t6, $t1", 0xffffffff,
5916                                0xffffffff, t4, t6, t1);
5917    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t1, $t2", 0xf2f4df1f,
5918                                0xcb4ab48f, t0, t1, t2);
5919    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t3, $t4", 0x435f909a,
5920                                0xaf8f7e18, t2, t3, t4);
5921    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t1, $t5", 0x2106ba5f,
5922                                0x87df4510, t4, t1, t5);
5923    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t6, $t7, $t3", 0x246a6376,
5924                                0xabf4e8e1, t6, t7, t3);
5925    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t5, $t3, $t2", 0x1046a1a3,
5926                                0xf4c0eeac, t5, t3, t2);
5927    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t2, $t4, $t8", 0x638ca515,
5928                                0x006a54f2, t2, t4, t8);
5929    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t0, $t8, $t0", 0xf63e7a9d,
5930                                0x79f74493, t0, t8, t0);
5931    TESTDSPINST_RD_RS_RT_NODSPC("precrq.ph.w $t4, $t6, $t1", 0xbd6845cd,
5932                                0x9c09e313, t4, t6, t1);
5933 
5934    printf("-------- PRECRQ_RS.PH.W --------\n");
5935    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t1, $t2", 0x00000000,
5936                              0x00000000, t0, t1, t2);
5937    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t3, $t4", 0x045fb232,
5938                              0x00028632, t2, t3, t4);
5939    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t1, $t5", 0xfabc3435,
5940                              0xfabc3421, t4, t1, t5);
5941    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t6, $t7, $t3", 0x07654cb8,
5942                              0x734680bc, t6, t7, t3);
5943    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t5, $t3, $t2", 0xf973437b,
5944                              0x80000000, t5, t3, t2);
5945    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t4, $t8", 0x00ff0001,
5946                              0xff01ffff, t2, t4, t8);
5947    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t8, $t0", 0x7fffd004,
5948                              0x7fff7fff, t0, t8, t0);
5949    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t8, $t0", 0x7fffd004,
5950                              0x7fff7fff, t0, t8, t0);
5951    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t6, $t1", 0x0000c420,
5952                              0x00000555, t4, t6, t1);
5953    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t1, $t2", 0x7fff8000,
5954                              0xffff8000, t0, t1, t2);
5955    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t3, $t4", 0x80000000,
5956                              0x80000000, t2, t3, t4);
5957    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t1, $t5", 0x7fffaaaa,
5958                              0x55555555, t4, t1, t5);
5959    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t6, $t7, $t3", 0x00000018,
5960                              0xffff2435, t6, t7, t3);
5961    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t5, $t3, $t2", 0xbabababa,
5962                              0xabababab, t5, t3, t2);
5963    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t4, $t8", 0xf0f0f0f0,
5964                              0xfc79b4d2, t2, t4, t8);
5965    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t8, $t0", 0xfbde3976,
5966                              0x00000000, t0, t8, t0);
5967    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t6, $t1", 0x23534870,
5968                              0x00354565, t4, t6, t1);
5969    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t1, $t2", 0x980b7cde,
5970                              0x00086755, t0, t1, t2);
5971    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t3, $t4", 0x00000018,
5972                              0x8f8f8f8f, t2, t3, t4);
5973    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t1, $t5", 0x92784656,
5974                              0xeeeeeeee, t4, t1, t5);
5975    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t6, $t7, $t3", 0xcacacaca,
5976                              0x1bdbdbdb, t6, t7, t3);
5977    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t5, $t3, $t2", 0xbacabaca,
5978                              0xdecadeca, t5, t3, t2);
5979    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t4, $t8", 0x12fadeb4,
5980                              0x93474bde, t2, t4, t8);
5981    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t8, $t0", 0x7fffffff,
5982                              0xfc0007ff, t0, t8, t0);
5983    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t6, $t1", 0xffffffff,
5984                              0xffffffff, t4, t6, t1);
5985    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t1, $t2", 0xf2f4df1f,
5986                              0xcb4ab48f, t0, t1, t2);
5987    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t3, $t4", 0x435f909a,
5988                              0xaf8f7e18, t2, t3, t4);
5989    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t1, $t5", 0x2106ba5f,
5990                              0x87df4510, t4, t1, t5);
5991    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t6, $t7, $t3", 0x246a6376,
5992                              0xabf4e8e1, t6, t7, t3);
5993    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t5, $t3, $t2", 0x1046a1a3,
5994                              0xf4c0eeac, t5, t3, t2);
5995    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t2, $t4, $t8", 0x638ca515,
5996                              0x006a54f2, t2, t4, t8);
5997    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t0, $t8, $t0", 0xf63e7a9d,
5998                              0x79f74493, t0, t8, t0);
5999    TESTDSPINST_RD_RS_RT_DSPC("precrq_rs.ph.w $t4, $t6, $t1", 0xbd6845cd,
6000                              0x9c09e313, t4, t6, t1);
6001 
6002    printf("-------- PRECRQU_S.QB.PH --------\n");
6003    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t1, $t2", 0x00000000,
6004                              0x00000000, t0, t1, t2);
6005    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t3, $t4", 0x045fb232,
6006                              0x00028632, t2, t3, t4);
6007    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t1, $t5", 0xfabc3435,
6008                              0xfabc3421, t4, t1, t5);
6009    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t6, $t7, $t3", 0x07654cb8,
6010                              0x734680bc, t6, t7, t3);
6011    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t5, $t3, $t2", 0xf973437b,
6012                              0x80000000, t5, t3, t2);
6013    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t4, $t8", 0x00ff0001,
6014                              0xff01ffff, t2, t4, t8);
6015    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t8, $t0", 0x7fff7004,
6016                              0x7fff7fff, t0, t8, t0);
6017    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t6, $t1", 0x0000c420,
6018                              0x00000555, t4, t6, t1);
6019    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t1, $t2", 0x00000000,
6020                              0x00000000, t0, t1, t2);
6021    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t3, $t4", 0x80000000,
6022                              0x80000000, t2, t3, t4);
6023    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t1, $t5", 0xaaaaaaaa,
6024                              0x55555555, t4, t1, t5);
6025    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t6, $t7, $t3", 0x00000018,
6026                              0xffff2435, t6, t7, t3);
6027    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t5, $t3, $t2", 0xbabababa,
6028                              0xabababab, t5, t3, t2);
6029    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t4, $t8", 0xf0f0f0f0,
6030                              0xfc79b4d2, t2, t4, t8);
6031    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t8, $t0", 0xfbde3976,
6032                              0x00000000, t0, t8, t0);
6033    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t6, $t1", 0x23534870,
6034                              0x00354565, t4, t6, t1);
6035    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t1, $t2", 0x980b7cde,
6036                              0x00086755, t0, t1, t2);
6037    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t3, $t4", 0x00000018,
6038                              0x8f8f8f8f, t2, t3, t4);
6039    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t1, $t5", 0x92784656,
6040                              0xeeeeeeee, t4, t1, t5);
6041    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t6, $t7, $t3", 0xcacacaca,
6042                              0x1bdbdbdb, t6, t7, t3);
6043    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t5, $t3, $t2", 0xbacabaca,
6044                              0xdecadeca, t5, t3, t2);
6045    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t4, $t8", 0x12fadeb4,
6046                              0x93474bde, t2, t4, t8);
6047    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t8, $t0", 0x7c000790,
6048                              0xfc0007ff, t0, t8, t0);
6049    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t6, $t1", 0xffffffff,
6050                              0xffffffff, t4, t6, t1);
6051    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t1, $t2", 0xf2f4df1f,
6052                              0xcb4ab48f, t0, t1, t2);
6053    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t3, $t4", 0x435f909a,
6054                              0xaf8f7e18, t2, t3, t4);
6055    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t1, $t5", 0x2106ba5f,
6056                              0x87df4510, t4, t1, t5);
6057    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t6, $t7, $t3", 0x246a6376,
6058                              0xabf4e8e1, t6, t7, t3);
6059    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t5, $t3, $t2", 0x1046a1a3,
6060                              0xf4c0eeac, t5, t3, t2);
6061    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t2, $t4, $t8", 0x638ca515,
6062                              0x006a54f2, t2, t4, t8);
6063    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t0, $t8, $t0", 0xf63e7a9d,
6064                              0x79f74493, t0, t8, t0);
6065    TESTDSPINST_RD_RS_RT_DSPC("precrqu_s.qb.ph $t4, $t6, $t1", 0xbd6845cd,
6066                              0x9c09e313, t4, t6, t1);
6067 
6068    printf("-------- RADDU.W.QB --------\n");
6069    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t2", 0x55555555, t3, t2);
6070    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t1", 0xffff2435, t4, t1);
6071    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t7, $t2", 0x55555555, t7, t2);
6072    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t5, $t1", 0xffff2435, t5, t1);
6073    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t2, $t2", 0x55435755, t2, t2);
6074    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t1", 0xffff2435, t3, t1);
6075    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t1, $t2", 0x0fde3126, t1, t2);
6076    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t2, $t0", 0xabababab, t2, t0);
6077    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t7, $t3", 0x00000001, t7, t3);
6078    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t5, $t6", 1073741824, t5, t6);
6079    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t2, $t4", 0x80000000, t2, t4);
6080    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t6, $t1", 0x7fffffff, t6, t1);
6081    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t8, $t5", 0x23534870, t8, t5);
6082    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t9, $t7", 0xffffffff, t9, t7);
6083    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t8", 0xfc79b4d2, t3, t8);
6084    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t4", 0x00000000, t4, t4);
6085    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t5, $t5", 0x00000000, t5, t5);
6086    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t6, $t6", 0x12349876, t6, t6);
6087    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t7, $t7", 0x00354565, t7, t7);
6088    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t8, $t8", 0x00086755, t8, t8);
6089    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t9, $t0", 0x8f8f8f8f, t9, t0);
6090    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t1, $t1", 0xeeeeeeee, t1, t1);
6091    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t1, $t2", 0x1bdbdbdb, t1, t2);
6092    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t3", 0xdecadeca, t4, t3);
6093    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t8, $t4", 0x5fc92974, t8, t4);
6094    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t0, $t5", 0x7e08184e, t0, t5);
6095    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t1, $t6", 0x71c8315f, t1, t6);
6096    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t2, $t7", 0x9493110e, t2, t7);
6097    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t8", 0xbb246228, t3, t8);
6098    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t0", 0x339d8d88, t4, t0);
6099    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t5, $t1", 0x70974249, t5, t1);
6100    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t6, $t2", 0x8a8d4e7d, t6, t2);
6101    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t7, $t1", 0xeb1b4335, t7, t1);
6102    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t8, $t2", 0x0cd6b508, t8, t2);
6103    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t0, $t1", 0x6731e282, t0, t1);
6104    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t1, $t2", 0xb6edf28f, t1, t2);
6105    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t2, $t3", 0x4b4ec9ca, t2, t3);
6106    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t4", 0xc1037fa4, t3, t4);
6107    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t3, $t5", 0xcb4ab48f, t3, t5);
6108    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t6", 0xaf8f7e18, t4, t6);
6109    TESTDSPINST_RADDU_W_QB("raddu.w.qb $t4, $t6", 0xaf8f7e18, t4, t6);
6110 
6111    printf("-------- RDDSP/WRDSP --------\n");
6112    TESTDSPINST_RDDSPWRDSP(0x35055512, 0x0000001f);
6113    TESTDSPINST_RDDSPWRDSP(0x00000000, 0x00000002);
6114    TESTDSPINST_RDDSPWRDSP(0x80003286, 0x00000004);
6115    TESTDSPINST_RDDSPWRDSP(0xfabc2435, 0x00000008);
6116    TESTDSPINST_RDDSPWRDSP(0x73468000, 0x00000016);
6117    TESTDSPINST_RDDSPWRDSP(0x80000000, 0x00000020);
6118    TESTDSPINST_RDDSPWRDSP(0xffffffff, 0x00000022);
6119    TESTDSPINST_RDDSPWRDSP(0xfff45fff, 0x0000003f);
6120    TESTDSPINST_RDDSPWRDSP(0x00000555, 0x00000013);
6121    TESTDSPINST_RDDSPWRDSP(0x23534870, 0x00000014);
6122    TESTDSPINST_RDDSPWRDSP(0x0555adec, 0x00000010);
6123    TESTDSPINST_RDDSPWRDSP(0x980b7cde, 0x00000015);
6124    TESTDSPINST_RDDSPWRDSP(0xf973437b, 0x00000011);
6125    TESTDSPINST_RDDSPWRDSP(0x93474bde, 0x00000007);
6126    TESTDSPINST_RDDSPWRDSP(0x55555555, 0x00000009);
6127    TESTDSPINST_RDDSPWRDSP(0xc4dbfe20, 0x00000006);
6128    TESTDSPINST_RDDSPWRDSP(0x734680bc, 0x00000000);
6129    TESTDSPINST_RDDSPWRDSP(0x00354565, 0x00000003);
6130    TESTDSPINST_RDDSPWRDSP(0xbacabaca, 0x00000021);
6131    TESTDSPINST_RDDSPWRDSP(0xdecadeca, 0x00000016);
6132    TESTDSPINST_RDDSPWRDSP(0x00000286, 0x00000001);
6133    TESTDSPINST_RDDSPWRDSP(0xabababab, 0x00000026);
6134 
6135    printf("-------- REPL.PH --------\n");
6136    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t0, 0", 0, t0);
6137    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t1, 1", 1, t1);
6138    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t2, -1", -1, t2);
6139    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t3, -129", -129, t3);
6140    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t4, -2", -2, t4);
6141    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t0, 0x123", 0x123, t0);
6142    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t1, 0x07b", 0x07b, t1);
6143    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t2, 0x1c8", 0x1c8, t2);
6144    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t3, 0x080", 0x080, t3);
6145    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t4, 0x07f", 0x07f, t4);
6146    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t5, 0x1ff", 0x1ff, t5);
6147    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t6, 0x000", 0x000, t6);
6148    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t7, 0x177", 0x177, t7);
6149    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t0, 0x1de", 0x1de, t0);
6150    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t1, 0x018", 0x018, t1);
6151    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t2, 0x056", 0x056, t2);
6152    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t3, 0x1ca", 0x1ca, t3);
6153    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t4, 0x1ab", 0x1ab, t4);
6154    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t5, 0x1d2", 0x1d2, t5);
6155    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t6, 0x000", 0x000, t6);
6156    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t7, 0x065", 0x065, t7);
6157    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t0, 0x055", 0x055, t0);
6158    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t1, 0x08f", 0x08f, t1);
6159    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t2, 0x0ee", 0x0ee, t2);
6160    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t3, 0x1db", 0x1db, t3);
6161    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t4, 0x1ca", 0x1ca, t4);
6162    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t5, 0x1de", 0x1de, t5);
6163    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t6, 0x0ff", 0x0ff, t6);
6164    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t7, 0x0ff", 0x0ff, t7);
6165    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t0, 0x08f", 0x08f, t0);
6166    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t1, 0x118", 0x118, t1);
6167    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t2, 0x110", 0x110, t2);
6168    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t3, 0x1e1", 0x1e1, t3);
6169    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t4, 0x1ac", 0x1ac, t4);
6170    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t5, 0x0f2", 0x0f2, t5);
6171    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t6, 0x093", 0x093, t6);
6172    TESTDSPINST_RD_IMM_NODSPC("repl.ph $t7, 0x013", 0x013, t7);
6173 
6174    printf("-------- REPL.QB --------\n");
6175    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t0, 0x23", 0x23, t0);
6176    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t1, 0x7b", 0x7b, t1);
6177    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t2, 0xc8", 0xc8, t2);
6178    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t3, 0x80", 0x80, t3);
6179    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t4, 0x7f", 0x7f, t4);
6180    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t5, 0xff", 0xff, t5);
6181    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t6, 0x00", 0x00, t6);
6182    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t7, 0x77", 0x77, t7);
6183    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t0, 0xde", 0xde, t0);
6184    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t1, 0x18", 0x18, t1);
6185    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t2, 0x56", 0x56, t2);
6186    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t3, 0xca", 0xca, t3);
6187    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t4, 0xab", 0xab, t4);
6188    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t5, 0xd2", 0xd2, t5);
6189    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t6, 0x00", 0x00, t6);
6190    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t7, 0x65", 0x65, t7);
6191    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t0, 0x55", 0x55, t0);
6192    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t1, 0x8f", 0x8f, t1);
6193    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t2, 0xee", 0xee, t2);
6194    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t3, 0xdb", 0xdb, t3);
6195    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t4, 0xca", 0xca, t4);
6196    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t5, 0xde", 0xde, t5);
6197    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t6, 0xff", 0xff, t6);
6198    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t7, 0xff", 0xff, t7);
6199    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t0, 0x8f", 0x8f, t0);
6200    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t1, 0x18", 0x18, t1);
6201    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t2, 0x10", 0x10, t2);
6202    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t3, 0xe1", 0xe1, t3);
6203    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t4, 0xac", 0xac, t4);
6204    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t5, 0xf2", 0xf2, t5);
6205    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t6, 0x93", 0x93, t6);
6206    TESTDSPINST_RD_IMM_NODSPC("repl.qb $t7, 0x13", 0x13, t7);
6207 
6208    printf("-------- REPLV.PH --------\n");
6209    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t1", 0x00000000, t0, t1);
6210    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t3", 0x80003286, t2, t3);
6211    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t1", 0xfabc2435, t4, t1);
6212    TESTDSPINST_RD_RT_NODSPC("replv.ph $t6, $t7", 0x73468000, t6, t7);
6213    TESTDSPINST_RD_RT_NODSPC("replv.ph $t5, $t3", 0x80000000, t5, t3);
6214    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t4", 0xffffffff, t2, t4);
6215    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t8", 0xfff45fff, t0, t8);
6216    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t4", 0x00000555, t4, t4);
6217    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t1", 0x00005340, t0, t1);
6218    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t3", 0x80000000, t2, t3);
6219    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t1", 0x55555555, t4, t1);
6220    TESTDSPINST_RD_RT_NODSPC("replv.ph $t6, $t7", 0xffff2435, t6, t7);
6221    TESTDSPINST_RD_RT_NODSPC("replv.ph $t5, $t3", 0xabababab, t5, t3);
6222    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t4", 0xfc79b4d2, t2, t4);
6223    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t8", 0x00000000, t0, t8);
6224    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t4", 0x00354565, t4, t4);
6225    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t1", 0x00086755, t0, t1);
6226    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t3", 0x8f8f8f8f, t2, t3);
6227    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t1", 0xeeeeeeee, t4, t1);
6228    TESTDSPINST_RD_RT_NODSPC("replv.ph $t6, $t7", 0x1bdbdbdb, t6, t7);
6229    TESTDSPINST_RD_RT_NODSPC("replv.ph $t5, $t3", 0xdecadeca, t5, t3);
6230    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t4", 0x93474bde, t2, t4);
6231    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t8", 0xfc0007ff, t0, t8);
6232    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t4", 0xffffffff, t4, t4);
6233    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t1", 0xcb4ab48f, t0, t1);
6234    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t3", 0xaf8f7e18, t2, t3);
6235    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t1", 0x87df4510, t4, t1);
6236    TESTDSPINST_RD_RT_NODSPC("replv.ph $t6, $t7", 0xabf4e8e1, t6, t7);
6237    TESTDSPINST_RD_RT_NODSPC("replv.ph $t5, $t3", 0xf4c0eeac, t5, t3);
6238    TESTDSPINST_RD_RT_NODSPC("replv.ph $t2, $t4", 0x006a54f2, t2, t4);
6239    TESTDSPINST_RD_RT_NODSPC("replv.ph $t0, $t8", 0x79f74493, t0, t8);
6240    TESTDSPINST_RD_RT_NODSPC("replv.ph $t4, $t4", 0x9c09e313, t4, t4);
6241 
6242    printf("-------- REPLV.QB --------\n");
6243    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t1", 0x00000000, t0, t1);
6244    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t3", 0x80003286, t2, t3);
6245    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t1", 0xfabc2435, t4, t1);
6246    TESTDSPINST_RD_RT_NODSPC("replv.qb $t6, $t7", 0x73468000, t6, t7);
6247    TESTDSPINST_RD_RT_NODSPC("replv.qb $t5, $t3", 0x80000000, t5, t3);
6248    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t4", 0xffffffff, t2, t4);
6249    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t8", 0xfff45fff, t0, t8);
6250    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t4", 0x00000555, t4, t4);
6251    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t1", 0x00005340, t0, t1);
6252    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t3", 0x80000000, t2, t3);
6253    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t1", 0x55555555, t4, t1);
6254    TESTDSPINST_RD_RT_NODSPC("replv.qb $t6, $t7", 0xffff2435, t6, t7);
6255    TESTDSPINST_RD_RT_NODSPC("replv.qb $t5, $t3", 0xabababab, t5, t3);
6256    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t4", 0xfc79b4d2, t2, t4);
6257    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t8", 0x00000000, t0, t8);
6258    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t4", 0x00354565, t4, t4);
6259    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t1", 0x00086755, t0, t1);
6260    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t3", 0x8f8f8f8f, t2, t3);
6261    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t1", 0xeeeeeeee, t4, t1);
6262    TESTDSPINST_RD_RT_NODSPC("replv.qb $t6, $t7", 0x1bdbdbdb, t6, t7);
6263    TESTDSPINST_RD_RT_NODSPC("replv.qb $t5, $t3", 0xdecadeca, t5, t3);
6264    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t4", 0x93474bde, t2, t4);
6265    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t8", 0xfc0007ff, t0, t8);
6266    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t4", 0xffffffff, t4, t4);
6267    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t1", 0xcb4ab48f, t0, t1);
6268    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t3", 0xaf8f7e18, t2, t3);
6269    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t1", 0x87df4510, t4, t1);
6270    TESTDSPINST_RD_RT_NODSPC("replv.qb $t6, $t7", 0xabf4e8e1, t6, t7);
6271    TESTDSPINST_RD_RT_NODSPC("replv.qb $t5, $t3", 0xf4c0eeac, t5, t3);
6272    TESTDSPINST_RD_RT_NODSPC("replv.qb $t2, $t4", 0x006a54f2, t2, t4);
6273    TESTDSPINST_RD_RT_NODSPC("replv.qb $t0, $t8", 0x79f74493, t0, t8);
6274    TESTDSPINST_RD_RT_NODSPC("replv.qb $t4, $t4", 0x9c09e313, t4, t4);
6275 
6276    printf("-------- SHILO --------\n");
6277    TESTDSPINST_SHILO("ac3", 0x980b7cde, 0x0243ade5, -5);
6278    TESTDSPINST_SHILO("ac0", 0x80003286, 0x00002340, 12);
6279    TESTDSPINST_SHILO("ac1", 0x23534870, 0x0bca3470,  7);
6280    TESTDSPINST_SHILO("ac2", 0x0555adec, 0x1245bef6,  3);
6281    TESTDSPINST_SHILO("ac3", 0x980b7cde, 0x0243ade5, -5);
6282    TESTDSPINST_SHILO("ac0", 0xf97343ff, 0x0bce2434, -13);
6283    TESTDSPINST_SHILO("ac1", 0x93474bde, 0x0bcde433, 31);
6284    TESTDSPINST_SHILO("ac2", 0x7f003245, 0x000432fe, -32);
6285    TESTDSPINST_SHILO("ac3", 0xad80bce4, 0x0241bce0,  8);
6286    TESTDSPINST_SHILO("ac0", 0x55555555, 0xbcdea87a, 20);
6287    TESTDSPINST_SHILO("ac1", 0x00000000, 0x00000007, 22);
6288    TESTDSPINST_SHILO("ac2", 0xc4dbfe20, 0x000023b6, -19);
6289    TESTDSPINST_SHILO("ac3", 0x734680bc, 0x000deab5, 16);
6290    TESTDSPINST_SHILO("ac0", 0x3545ff80, 0x00000004, -2);
6291    TESTDSPINST_SHILO("ac1", 0xbacabaca, 0x00000003, -4);
6292    TESTDSPINST_SHILO("ac2", 0xdecadeca, 0x00000002, -18);
6293    TESTDSPINST_SHILO("ac3", 0xabababab, 0x00000001,  0);
6294    TESTDSPINST_SHILO("ac0", 0xffffffff, 0x00000000,  1);
6295    TESTDSPINST_SHILO("ac1", 0x7fff7fff, 0x0bce3457, 30);
6296    TESTDSPINST_SHILO("ac2", 0x00010001, 0x00ca6ced, -30);
6297    TESTDSPINST_SHILO("ac3", 0x00000080, 0x5bc34109, -24);
6298    TESTDSPINST_SHILO("ac0", 0xff460000, 0x4bacd342,  5);
6299    TESTDSPINST_SHILO("ac1", 0x2fff0000, 0x03bcde24,  9);
6300    TESTDSPINST_SHILO("ac2", 0x2fff0000, 0x02234379, 16);
6301    TESTDSPINST_SHILO("ac3", 0x2fff0000, 0x01098789, -12);
6302 
6303    printf("-------- SHILOV --------\n");
6304    TESTDSP_SHILOV("ac3", 0x980b7cde, 0x0243ade5, 0x01098789, t5);
6305    TESTDSP_SHILOV("ac0", 0x80003286, 0x00002340, 0x0241bce0, t1);
6306    TESTDSP_SHILOV("ac1", 0x23534870, 0x0bca3470, 0xc4dbfe20, t1);
6307    TESTDSP_SHILOV("ac2", 0x0555adec, 0x1245bef6, 0x93474bde, t3);
6308    TESTDSP_SHILOV("ac3", 0x980b7cde, 0x0243ade5, 0x7f003245, t7);
6309    TESTDSP_SHILOV("ac0", 0xf97343ff, 0x0bce2434, 0x0241bce0, t3);
6310    TESTDSP_SHILOV("ac1", 0x93474bde, 0x0bcde433, 0x0bce3457, t4);
6311    TESTDSP_SHILOV("ac2", 0x7f003245, 0x000432fe, 0xbacabaca, t8);
6312    TESTDSP_SHILOV("ac3", 0xad80bce4, 0x0241bce0, 0x734680bc, t1);
6313    TESTDSP_SHILOV("ac0", 0x55555555, 0xbcdea87a, 0x3545ff80, t3);
6314    TESTDSP_SHILOV("ac1", 0x00000000, 0x00000007, 0x7fff7fff, t1);
6315    TESTDSP_SHILOV("ac2", 0xc4dbfe20, 0x000023b6, 0xc4dbfe20, t7);
6316    TESTDSP_SHILOV("ac3", 0x734680bc, 0x000deab5,         16, t3);
6317    TESTDSP_SHILOV("ac0", 0x3545ff80, 0x00000004,         -2, t4);
6318    TESTDSP_SHILOV("ac1", 0xbacabaca, 0x00000003,         -4, t8);
6319    TESTDSP_SHILOV("ac2", 0xdecadeca, 0x00000002,        -18, t5);
6320    TESTDSP_SHILOV("ac3", 0xabababab, 0x00000001,          0, t1);
6321    TESTDSP_SHILOV("ac0", 0xffffffff, 0x00000000,          1, t3);
6322    TESTDSP_SHILOV("ac1", 0x7fff7fff, 0x0bce3457,         30, t1);
6323    TESTDSP_SHILOV("ac2", 0x00010001, 0x00ca6ced,        -30, t7);
6324    TESTDSP_SHILOV("ac3", 0x00000080, 0x5bc34109,        -24, t3);
6325    TESTDSP_SHILOV("ac0", 0xff460000, 0x4bacd342,        -32, t4);
6326    TESTDSP_SHILOV("ac1", 0x2fff0000, 0x03bcde24,         31, t8);
6327    TESTDSP_SHILOV("ac2", 0x2fff0000, 0x02234379,         16, t5);
6328    TESTDSP_SHILOV("ac3", 0x2fff0000, 0x01098789,        -12, t5);
6329 
6330    printf("-------- SHLL.PH --------\n");
6331    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t1,  0", 0x00000000,  0, t0, t1);
6332    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t3,  1", 0x2fff0000,  1, t2, t3);
6333    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t1,  2", 0x2fff0000,  2, t4, t1);
6334    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t6, $t7,  3", 0x2fff0000,  3, t6, t7);
6335    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t5, $t3,  4", 0x80000000,  4, t5, t3);
6336    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t4,  5", 0xff01ffff,  5, t2, t4);
6337    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t8,  6", 0x7fff7fff,  6, t0, t8);
6338    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t6,  7", 0x00000555,  7, t4, t6);
6339    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t1,  8", 0x00000000,  8, t0, t1);
6340    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t3,  9", 0x80000000,  9, t2, t3);
6341    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t1, 10", 0x55555555, 10, t4, t1);
6342    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t6, $t7, 11", 0xffff2435, 11, t6, t7);
6343    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t5, $t3, 12", 0xabababab, 12, t5, t3);
6344    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t4, 13", 0xfc79b4d2, 13, t2, t4);
6345    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t8, 14", 0x00000000, 14, t0, t8);
6346    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t6, 15", 0x00354565, 15, t4, t6);
6347    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t1,  0", 0x00086755,  0, t0, t1);
6348    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t3,  1", 0x8f8f8f8f,  1, t2, t3);
6349    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t1,  2", 0xeeeeeeee,  2, t4, t1);
6350    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t6, $t7,  3", 0x1bdbdbdb,  3, t6, t7);
6351    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t5, $t3,  4", 0xdecadeca,  4, t5, t3);
6352    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t4,  5", 0x93474bde,  5, t2, t4);
6353    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t8,  6", 0xfc0007ff,  6, t0, t8);
6354    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t6,  7", 0xffffffff,  7, t4, t6);
6355    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t1,  8", 0xcb4ab48f,  8, t0, t1);
6356    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t3,  9", 0xaf8f7e18,  9, t2, t3);
6357    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t1, 10", 0x87df4510, 10, t4, t1);
6358    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t6, $t7, 11", 0xabf4e8e1, 11, t6, t7);
6359    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t5, $t3, 12", 0xf4c0eeac, 12, t5, t3);
6360    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t2, $t4, 13", 0x006a54f2, 13, t2, t4);
6361    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t0, $t8, 14", 0x79f74493, 14, t0, t8);
6362    TESTDSPINST_RD_RT_SA_DSPC("shll.ph $t4, $t6, 15", 0x9c09e313, 15, t4, t6);
6363 
6364    printf("-------- SHLL_S.PH --------\n");
6365    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t1,  0", 0x00000000,  0, t0, t1);
6366    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t3,  1", 0x2fff0000,  1, t2, t3);
6367    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t1,  2", 0x2fff0000,  2, t4, t1);
6368    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t6, $t7,  3", 0x2fff0000,  3, t6, t7);
6369    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t5, $t3,  4", 0x80000000,  4, t5, t3);
6370    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t4,  5", 0xff01ffff,  5, t2, t4);
6371    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t8,  6", 0x7fff7fff,  6, t0, t8);
6372    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t6,  7", 0x00000555,  7, t4, t6);
6373    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t1,  8", 0x00000000,  8, t0, t1);
6374    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t3,  9", 0x80000000,  9, t2, t3);
6375    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t1, 10", 0x55555555, 10, t4, t1);
6376    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t6, $t7, 11", 0xffff2435, 11, t6, t7);
6377    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t5, $t3, 12", 0xabababab, 12, t5, t3);
6378    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t4, 13", 0xfc79b4d2, 13, t2, t4);
6379    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t8, 14", 0x00000000, 14, t0, t8);
6380    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t6, 15", 0x00354565, 15, t4, t6);
6381    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t1,  0", 0x00086755,  0, t0, t1);
6382    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t3,  1", 0x8f8f8f8f,  1, t2, t3);
6383    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t1,  2", 0xeeeeeeee,  2, t4, t1);
6384    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t6, $t7,  3", 0x1bdbdbdb,  3, t6, t7);
6385    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t5, $t3,  4", 0xdecadeca,  4, t5, t3);
6386    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t4,  5", 0x93474bde,  5, t2, t4);
6387    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t8,  6", 0xfc0007ff,  6, t0, t8);
6388    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t6,  7", 0xffffffff,  7, t4, t6);
6389    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t1,  8", 0xcb4ab48f,  8, t0, t1);
6390    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t3,  9", 0xaf8f7e18,  9, t2, t3);
6391    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t1, 10", 0x87df4510, 10, t4, t1);
6392    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t6, $t7, 11", 0xabf4e8e1, 11, t6, t7);
6393    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t5, $t3, 12", 0xf4c0eeac, 12, t5, t3);
6394    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t2, $t4, 13", 0x006a54f2, 13, t2, t4);
6395    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t0, $t8, 14", 0x79f74493, 14, t0, t8);
6396    TESTDSPINST_RD_RT_SA_DSPC("shll_s.ph $t4, $t6, 15", 0x9c09e313, 15, t4, t6);
6397 
6398    printf("-------- SHLL.QB --------\n");
6399    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
6400    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t3, 2", 0x2fff0000, 2, t2, t3);
6401    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t1, 3", 0x2fff0000, 3, t4, t1);
6402    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t6, $t7, 4", 0x2fff0000, 4, t6, t7);
6403    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t5, $t3, 0", 0x80000000, 0, t5, t3);
6404    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t4, 7", 0xff01ffff, 7, t2, t4);
6405    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t8, 7", 0x7fff7fff, 7, t0, t8);
6406    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t6, 0", 0x00000555, 0, t4, t6);
6407    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
6408    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t3, 2", 0x80000000, 2, t2, t3);
6409    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t1, 3", 0x55555555, 3, t4, t1);
6410    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t6, $t7, 4", 0xffff2435, 4, t6, t7);
6411    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t5, $t3, 5", 0xabababab, 5, t5, t3);
6412    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t4, 6", 0xfc79b4d2, 6, t2, t4);
6413    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t8, 7", 0x00000000, 7, t0, t8);
6414    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t6, 0", 0x00354565, 0, t4, t6);
6415    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t1, 1", 0x00086755, 1, t0, t1);
6416    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t3, 2", 0x8f8f8f8f, 2, t2, t3);
6417    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t1, 3", 0xeeeeeeee, 3, t4, t1);
6418    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t6, $t7, 4", 0x1bdbdbdb, 4, t6, t7);
6419    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t5, $t3, 5", 0xdecadeca, 5, t5, t3);
6420    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t4, 6", 0x93474bde, 6, t2, t4);
6421    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t8, 7", 0xfc0007ff, 7, t0, t8);
6422    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t6, 0", 0xffffffff, 0, t4, t6);
6423    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t1, 3", 0xcb4ab48f, 3, t0, t1);
6424    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t3, 4", 0xaf8f7e18, 4, t2, t3);
6425    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t1, 0", 0x87df4510, 0, t4, t1);
6426    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t6, $t7, 7", 0xabf4e8e1, 7, t6, t7);
6427    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t5, $t3, 7", 0xf4c0eeac, 7, t5, t3);
6428    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t2, $t4, 5", 0x006a54f2, 5, t2, t4);
6429    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t0, $t8, 1", 0x79f74493, 1, t0, t8);
6430    TESTDSPINST_RD_RT_SA_DSPC("shll.qb $t4, $t6, 2", 0x9c09e313, 2, t4, t6);
6431 
6432    printf("-------- SHLL_S.W --------\n");
6433    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t1,  0", 0x00000000,  0, t0, t1);
6434    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t3,  1", 0x2fff0000,  1, t2, t3);
6435    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t1,  2", 0x2fff0000,  2, t4, t1);
6436    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t6, $t7,  3", 0x2fff0000,  3, t6, t7);
6437    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t5, $t3,  4", 0x80000000,  4, t5, t3);
6438    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t4,  5", 0xff01ffff,  5, t2, t4);
6439    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t8,  6", 0x7fff7fff,  6, t0, t8);
6440    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t6,  7", 0x00000555,  7, t4, t6);
6441    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t1,  8", 0x00000000,  8, t0, t1);
6442    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t3,  9", 0x80000000,  9, t2, t3);
6443    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t1, 10", 0x55555555, 10, t4, t1);
6444    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t6, $t7, 11", 0xffff2435, 11, t6, t7);
6445    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t5, $t3, 12", 0xabababab, 12, t5, t3);
6446    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t4, 13", 0xfc79b4d2, 13, t2, t4);
6447    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t8, 14", 0x00000000, 14, t0, t8);
6448    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t6, 15", 0x00354565, 15, t4, t6);
6449    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t1, 16", 0x00086755,  0, t0, t1);
6450    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t3, 17", 0x8f8f8f8f,  1, t2, t3);
6451    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t1, 18", 0xeeeeeeee,  2, t4, t1);
6452    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t6, $t7, 19", 0x1bdbdbdb,  3, t6, t7);
6453    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t5, $t3, 20", 0xdecadeca,  4, t5, t3);
6454    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t4, 21", 0x93474bde,  5, t2, t4);
6455    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t8, 22", 0xfc0007ff,  6, t0, t8);
6456    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t6, 23", 0xffffffff,  7, t4, t6);
6457    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t1, 24", 0xcb4ab48f,  8, t0, t1);
6458    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t3, 25", 0xaf8f7e18,  9, t2, t3);
6459    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t1, 26", 0x87df4510, 10, t4, t1);
6460    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t6, $t7, 27", 0xabf4e8e1, 11, t6, t7);
6461    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t5, $t3, 28", 0xf4c0eeac, 12, t5, t3);
6462    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t2, $t4, 29", 0x006a54f2, 13, t2, t4);
6463    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t0, $t8, 30", 0x79f74493, 14, t0, t8);
6464    TESTDSPINST_RD_RT_SA_DSPC("shll_s.w $t4, $t6, 31", 0x9c09e313, 15, t4, t6);
6465 
6466    printf("-------- SHLLV.PH --------\n");
6467    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
6468                              t0, t1, t2);
6469    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
6470                              t2, t3, t4);
6471    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t1, $t5", 0x2fff0000, 0xfabc3401,
6472                              t4, t1, t5);
6473    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t6, $t7, $t3", 0x2fff0000, 0x73468002,
6474                              t6, t7, t3);
6475    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t5, $t3, $t2", 0x2fff0000, 0x80000003,
6476                              t5, t3, t2);
6477    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
6478                              t2, t4, t8);
6479    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
6480                              t0, t8, t0);
6481    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
6482                              t4, t6, t1);
6483    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
6484                              t0, t1, t2);
6485    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
6486                              t2, t3, t4);
6487    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
6488                              t4, t1, t5);
6489    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
6490                              t6, t7, t3);
6491    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
6492                              t5, t3, t2);
6493    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
6494                              t2, t4, t8);
6495    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
6496                              t0, t8, t0);
6497    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
6498                              t4, t6, t1);
6499    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
6500                              t0, t1, t2);
6501    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
6502                              t2, t3, t4);
6503    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
6504                              t4, t1, t5);
6505    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
6506                              t6, t7, t3);
6507    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
6508                              t5, t3, t2);
6509    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
6510                              t2, t4, t8);
6511    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
6512                              t0, t8, t0);
6513    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
6514                              t4, t6, t1);
6515    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
6516                              t0, t1, t2);
6517    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
6518                              t2, t3, t4);
6519    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
6520                              t4, t1, t5);
6521    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
6522                              t6, t7, t3);
6523    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
6524                              t5, t3, t2);
6525    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
6526                              t2, t4, t8);
6527    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
6528                              t0, t8, t0);
6529    TESTDSPINST_RD_RT_RS_DSPC("shllv.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
6530                              t4, t6, t1);
6531 
6532    printf("-------- SHLLV_S.PH --------\n");
6533    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
6534                              t0, t1, t2);
6535    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
6536                              t2, t3, t4);
6537    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t1, $t5", 0x2fff0000, 0xfabc3401,
6538                              t4, t1, t5);
6539    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t6, $t7, $t3", 0x2fff0000, 0x73468002,
6540                              t6, t7, t3);
6541    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t5, $t3, $t2", 0x2fff0000, 0x80000003,
6542                              t5, t3, t2);
6543    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
6544                              t2, t4, t8);
6545    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
6546                              t0, t8, t0);
6547    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
6548                              t4, t6, t1);
6549    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
6550                              t0, t1, t2);
6551    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
6552                              t2, t3, t4);
6553    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
6554                              t4, t1, t5);
6555    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
6556                              t6, t7, t3);
6557    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
6558                              t5, t3, t2);
6559    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
6560                              t2, t4, t8);
6561    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
6562                              t0, t8, t0);
6563    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
6564                              t4, t6, t1);
6565    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
6566                              t0, t1, t2);
6567    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
6568                              t2, t3, t4);
6569    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
6570                              t4, t1, t5);
6571    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
6572                              t6, t7, t3);
6573    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
6574                              t5, t3, t2);
6575    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
6576                              t2, t4, t8);
6577    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
6578                              t0, t8, t0);
6579    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
6580                              t4, t6, t1);
6581    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
6582                              t0, t1, t2);
6583    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
6584                              t2, t3, t4);
6585    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
6586                              t4, t1, t5);
6587    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
6588                              t6, t7, t3);
6589    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
6590                              t5, t3, t2);
6591    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
6592                              t2, t4, t8);
6593    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
6594                              t0, t8, t0);
6595    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
6596                              t4, t6, t1);
6597 
6598    printf("-------- SHLLV.QB --------\n");
6599    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t1, $t2", 0x7fffffff, 0x00000000,
6600                              t0, t1, t2);
6601    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t3, $t4", 0x80000000, 0x00000000,
6602                              t2, t3, t4);
6603    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t1, $t5", 0x2fff0000, 0xfabc3401,
6604                              t4, t1, t5);
6605    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t6, $t7, $t3", 0x2fff0000, 0x73468002,
6606                              t6, t7, t3);
6607    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t5, $t3, $t2", 0x2fff0000, 0x80000003,
6608                              t5, t3, t2);
6609    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
6610                              t2, t4, t8);
6611    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
6612                              t0, t8, t0);
6613    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
6614                              t4, t6, t1);
6615    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t1, $t2", 0x00000000, 0x9348572b,
6616                              t0, t1, t2);
6617    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t3, $t4", 0x80000000, 0x80023450,
6618                              t2, t3, t4);
6619    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
6620                              t4, t1, t5);
6621    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
6622                              t6, t7, t3);
6623    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
6624                              t5, t3, t2);
6625    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
6626                              t2, t4, t8);
6627    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
6628                              t0, t8, t0);
6629    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
6630                              t4, t6, t1);
6631    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
6632                              t0, t1, t2);
6633    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
6634                              t2, t3, t4);
6635    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
6636                              t4, t1, t5);
6637    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
6638                              t6, t7, t3);
6639    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
6640                              t5, t3, t2);
6641    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
6642                              t2, t4, t8);
6643    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
6644                              t0, t8, t0);
6645    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
6646                              t4, t6, t1);
6647    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
6648                              t0, t1, t2);
6649    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
6650                              t2, t3, t4);
6651    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
6652                              t4, t1, t5);
6653    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
6654                              t6, t7, t3);
6655    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
6656                              t5, t3, t2);
6657    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
6658                              t2, t4, t8);
6659    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
6660                              t0, t8, t0);
6661    TESTDSPINST_RD_RT_RS_DSPC("shllv.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
6662                              t4, t6, t1);
6663 
6664    printf("-------- SHLLV_S.W --------\n");
6665    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t1, $t2", 0x7fffffff, 0x00000000,
6666                              t0, t1, t2);
6667    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t3, $t4", 0x80000000, 0x00000000,
6668                              t2, t3, t4);
6669    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t1, $t5", 0x2fff0000, 0xfabc3401,
6670                              t4, t1, t5);
6671    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t6, $t7, $t3", 0x2fff0000, 0x73468002,
6672                              t6, t7, t3);
6673    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t5, $t3, $t2", 0x2fff0000, 0x80000003,
6674                              t5, t3, t2);
6675    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
6676                              t2, t4, t8);
6677    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
6678                              t0, t8, t0);
6679    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
6680                              t4, t6, t1);
6681    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t1, $t2", 0x00000000, 0x00000000,
6682                              t0, t1, t2);
6683    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t3, $t4", 0x80000000, 0x80000000,
6684                              t2, t3, t4);
6685    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
6686                              t4, t1, t5);
6687    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
6688                              t6, t7, t3);
6689    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
6690                              t5, t3, t2);
6691    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
6692                              t2, t4, t8);
6693    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
6694                              t0, t8, t0);
6695    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t6, $t1", 0x23534870, 0x00354565,
6696                              t4, t6, t1);
6697    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
6698                              t0, t1, t2);
6699    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
6700                              t2, t3, t4);
6701    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
6702                              t4, t1, t5);
6703    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
6704                              t6, t7, t3);
6705    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
6706                              t5, t3, t2);
6707    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
6708                              t2, t4, t8);
6709    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
6710                              t0, t8, t0);
6711    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
6712                              t4, t6, t1);
6713    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
6714                              t0, t1, t2);
6715    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
6716                              t2, t3, t4);
6717    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
6718                              t4, t1, t5);
6719    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
6720                              t6, t7, t3);
6721    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
6722                              t5, t3, t2);
6723    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
6724                              t2, t4, t8);
6725    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
6726                              t0, t8, t0);
6727    TESTDSPINST_RD_RT_RS_DSPC("shllv_s.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
6728                              t4, t6, t1);
6729 
6730    printf("-------- SHRA.PH --------\n");
6731    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t1,  0", 0x00000000,  0, t0, t1);
6732    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t3,  1", 0x00028632,  1, t2, t3);
6733    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t1,  2", 0xfabc3421,  2, t4, t1);
6734    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t6, $t7,  3", 0x734680bc,  3, t6, t7);
6735    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t5, $t3,  4", 0x80000000,  4, t5, t3);
6736    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t4,  5", 0xff01ffff,  5, t2, t4);
6737    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t8,  6", 0x7fff7fff,  6, t0, t8);
6738    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t6,  7", 0x00000555,  7, t4, t6);
6739    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t1,  8", 0x00000000,  8, t0, t1);
6740    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t3,  9", 0x80000000,  9, t2, t3);
6741    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t1, 10", 0x55555555, 10, t4, t1);
6742    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t6, $t7, 11", 0xffff2435, 11, t6, t7);
6743    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t5, $t3, 12", 0xabababab, 12, t5, t3);
6744    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t4, 13", 0xfc79b4d2, 13, t2, t4);
6745    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t8, 14", 0x00000000, 14, t0, t8);
6746    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t6, 15", 0x00354565, 15, t4, t6);
6747    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t1,  0", 0x00086755,  0, t0, t1);
6748    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t3,  1", 0x8f8f8f8f,  1, t2, t3);
6749    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t1,  2", 0xeeeeeeee,  2, t4, t1);
6750    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t6, $t7,  3", 0x1bdbdbdb,  3, t6, t7);
6751    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t5, $t3,  4", 0xdecadeca,  4, t5, t3);
6752    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t4,  5", 0x93474bde,  5, t2, t4);
6753    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t8,  6", 0xfc0007ff,  6, t0, t8);
6754    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t6,  7", 0xffffffff,  7, t4, t6);
6755    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t1,  8", 0xcb4ab48f,  8, t0, t1);
6756    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t3,  9", 0xaf8f7e18,  9, t2, t3);
6757    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t1, 10", 0x87df4510, 10, t4, t1);
6758    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t6, $t7, 11", 0xabf4e8e1, 11, t6, t7);
6759    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t5, $t3, 12", 0xf4c0eeac, 12, t5, t3);
6760    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t2, $t4, 13", 0x006a54f2, 13, t2, t4);
6761    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t0, $t8, 14", 0x79f74493, 14, t0, t8);
6762    TESTDSPINST_RD_RT_SA_NODSPC("shra.ph $t4, $t6, 15", 0x9c09e313, 15, t4, t6);
6763 
6764    printf("-------- SHRA_R.PH --------\n");
6765    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t1,  0", 0x00000000,  0, t0,
6766                                t1);
6767    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t3,  1", 0x00028632,  1, t2,
6768                                t3);
6769    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t1,  2", 0xfabc3421,  2, t4,
6770                                t1);
6771    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t6, $t7,  3", 0x734680bc,  3, t6,
6772                                t7);
6773    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t5, $t3,  4", 0x80000000,  4, t5,
6774                                t3);
6775    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t4,  5", 0xff01ffff,  5, t2,
6776                                t4);
6777    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t8,  6", 0x7fff7fff,  6, t0,
6778                                t8);
6779    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t6,  7", 0x00000555,  7, t4,
6780                                t6);
6781    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t1,  8", 0x00000000,  8, t0,
6782                                t1);
6783    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t3,  9", 0x80000000,  9, t2,
6784                                t3);
6785    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t1, 10", 0x55555555, 10, t4,
6786                                t1);
6787    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t6, $t7, 11", 0xffff2435, 11, t6,
6788                                t7);
6789    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t5, $t3, 12", 0xabababab, 12, t5,
6790                                t3);
6791    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t4, 13", 0xfc79b4d2, 13, t2,
6792                                t4);
6793    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t8, 14", 0x00000000, 14, t0,
6794                                t8);
6795    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t6, 15", 0x00354565, 15, t4,
6796                                t6);
6797    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t1,  0", 0x00086755,  0, t0,
6798                                t1);
6799    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t3,  1", 0x8f8f8f8f,  1, t2,
6800                                t3);
6801    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t1,  2", 0xeeeeeeee,  2, t4,
6802                                t1);
6803    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t6, $t7,  3", 0x1bdbdbdb,  3, t6,
6804                                t7);
6805    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t5, $t3,  4", 0xdecadeca,  4, t5,
6806                                t3);
6807    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t4,  5", 0x93474bde,  5, t2,
6808                                t4);
6809    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t8,  6", 0xfc0007ff,  6, t0,
6810                                t8);
6811    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t6,  7", 0xffffffff,  7, t4,
6812                                t6);
6813    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t1,  8", 0xcb4ab48f,  8, t0,
6814                                t1);
6815    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t3,  9", 0xaf8f7e18,  9, t2,
6816                                t3);
6817    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t1, 10", 0x87df4510, 10, t4,
6818                                t1);
6819    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t6, $t7, 11", 0xabf4e8e1, 11, t6,
6820                                t7);
6821    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t5, $t3, 12", 0xf4c0eeac, 12, t5,
6822                                t3);
6823    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t2, $t4, 13", 0x006a54f2, 13, t2,
6824                                t4);
6825    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t0, $t8, 14", 0x79f74493, 14, t0,
6826                                t8);
6827    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.ph $t4, $t6, 15", 0x9c09e313, 15, t4,
6828                                t6);
6829 
6830    printf("-------- SHRA_R.W --------\n");
6831    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  1", 0x2,  1, t2, t3);
6832    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3, 16", 0x80000000, 16, t2, t3);
6833    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  1", 0x10001,  1, t2, t3);
6834    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3, 17", 0x10001, 17, t2, t3);
6835    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3, 17", 0x80010001, 17, t2, t3);
6836    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  0", 0x7fffffff,  0, t2, t3);
6837    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  1", 0x7fffffff,  1, t2, t3);
6838    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  2", 0x7ffffffe,  2, t2, t3);
6839    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t1,  0", 0x00000000,  0, t0, t1);
6840    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t1,  4", 0xfabc3435,  4, t4, t1);
6841    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t6, $t7, 17", 0x07654cb8, 17, t6, t7);
6842    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t5, $t3, 31", 0xf973437b, 31, t5, t3);
6843    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t4,  8", 0x00ff0001,  8, t2, t4);
6844    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t8, 11", 0x7fff7fff, 11, t0, t8);
6845    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t6, 13", 0x0000c420, 13, t4, t6);
6846    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t1,  2", 0x00000000,  2, t0, t1);
6847    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3,  6", 0x80000000,  6, t2, t3);
6848    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t1,  7", 0xaaaaaaaa,  7, t4, t1);
6849    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t6, $t7, 19", 0x00000018, 19, t6, t7);
6850    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t5, $t3, 31", 0xbabababa, 31, t5, t3);
6851    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t4,  4", 0xf0f0f0f0,  4, t2, t4);
6852    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t8, 12", 0xfbde3976, 12, t0, t8);
6853    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t6, 10", 0x23534870, 10, t4, t6);
6854    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t1, 20", 0x980b7cde, 20, t0, t1);
6855    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3, 21", 0x00000018, 21, t2, t3);
6856    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t1, 24", 0x92784656, 24, t4, t1);
6857    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t6, $t7, 27", 0xcacacaca, 27, t6, t7);
6858    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t5, $t3,  1", 0xbacabaca,  1, t5, t3);
6859    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t4, 18", 0x12fadeb4, 18, t2, t4);
6860    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t8, 10", 0x7c000790, 10, t0, t8);
6861    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t6, 16", 0xffffffff, 16, t4, t6);
6862    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t1,  0", 0xf2f4df1f,  0, t0, t1);
6863    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t3, 14", 0x435f909a, 14, t2, t3);
6864    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t1,  5", 0x2106ba5f,  5, t4, t1);
6865    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t6, $t7,  7", 0x246a6376,  7, t6, t7);
6866    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t5, $t3,  9", 0x1046a1a3,  9, t5, t3);
6867    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t2, $t4,  3", 0x638ca515,  3, t2, t4);
6868    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t0, $t8, 15", 0xf63e7a9d, 15, t0, t8);
6869    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.w $t4, $t6, 11", 0xbd6845cd, 11, t4, t6);
6870 
6871    printf("-------- SHRAV.PH --------\n");
6872    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
6873                                t0, t1, t2);
6874    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
6875                                t2, t3, t4);
6876    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
6877                                t4, t1, t5);
6878    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
6879                                t6, t7, t3);
6880    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
6881                                t5, t3, t2);
6882    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
6883                                t2, t4, t8);
6884    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
6885                                t0, t8, t0);
6886    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
6887                                t4, t6, t1);
6888    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
6889                                t0, t1, t2);
6890    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
6891                                t2, t3, t4);
6892    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
6893                                t4, t1, t5);
6894    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
6895                                t6, t7, t3);
6896    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
6897                                t5, t3, t2);
6898    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
6899                                t2, t4, t8);
6900    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
6901                                t0, t8, t0);
6902    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
6903                                t4, t6, t1);
6904    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
6905                                t0, t1, t2);
6906    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
6907                                t2, t3, t4);
6908    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
6909                                t4, t1, t5);
6910    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
6911                                t6, t7, t3);
6912    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
6913                                t5, t3, t2);
6914    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
6915                                t2, t4, t8);
6916    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
6917                                t0, t8, t0);
6918    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
6919                                t4, t6, t1);
6920    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
6921                                t0, t1, t2);
6922    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
6923                                t2, t3, t4);
6924    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
6925                                t4, t1, t5);
6926    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
6927                                t6, t7, t3);
6928    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
6929                                t5, t3, t2);
6930    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
6931                                t2, t4, t8);
6932    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
6933                                t0, t8, t0);
6934    TESTDSPINST_RD_RS_RT_NODSPC("shrav.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
6935                                t4, t6, t1);
6936 
6937    printf("-------- SHRAV_R.PH --------\n");
6938    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t1, $t2", 0x7fffffff,
6939                                0x00000000, t0, t1, t2);
6940    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t3, $t4", 0x80000000,
6941                                0x00000000, t2, t3, t4);
6942    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t1, $t5", 0xfabc3435,
6943                                0xfabc3421, t4, t1, t5);
6944    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t6, $t7, $t3", 0x07654cb8,
6945                                0x734680bc, t6, t7, t3);
6946    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t5, $t3, $t2", 0xf973437b,
6947                                0x80000000, t5, t3, t2);
6948    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t4, $t8", 0x00ff0001,
6949                                0xff01ffff, t2, t4, t8);
6950    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t8, $t0", 0x7fff7004,
6951                                0x7fff7fff, t0, t8, t0);
6952    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t6, $t1", 0x0000c420,
6953                                0x00000555, t4, t6, t1);
6954    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t1, $t2", 0x00000000,
6955                                0x00000000, t0, t1, t2);
6956    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t3, $t4", 0x80000000,
6957                                0x80000000, t2, t3, t4);
6958    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t1, $t5", 0xaaaaaaaa,
6959                                0x55555555, t4, t1, t5);
6960    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t6, $t7, $t3", 0x00000018,
6961                                0xffff2435, t6, t7, t3);
6962    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t5, $t3, $t2", 0xbabababa,
6963                                0xabababab, t5, t3, t2);
6964    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t4, $t8", 0xf0f0f0f0,
6965                                0xfc79b4d2, t2, t4, t8);
6966    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t8, $t0", 0xfbde3976,
6967                                0x00000000, t0, t8, t0);
6968    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t6, $t1", 0x23534870,
6969                                0x00354565, t4, t6, t1);
6970    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t1, $t2", 0x980b7cde,
6971                                0x00086755, t0, t1, t2);
6972    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t3, $t4", 0x00000018,
6973                                0x8f8f8f8f, t2, t3, t4);
6974    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t1, $t5", 0x92784656,
6975                                0xeeeeeeee, t4, t1, t5);
6976    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t6, $t7, $t3", 0xcacacaca,
6977                                0x1bdbdbdb, t6, t7, t3);
6978    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t5, $t3, $t2", 0xbacabaca,
6979                                0xdecadeca, t5, t3, t2);
6980    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t4, $t8", 0x12fadeb4,
6981                                0x93474bde, t2, t4, t8);
6982    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t8, $t0", 0x7c000790,
6983                                0xfc0007ff, t0, t8, t0);
6984    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t6, $t1", 0xffffffff,
6985                                0xffffffff, t4, t6, t1);
6986    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t1, $t2", 0xf2f4df1f,
6987                                0xcb4ab48f, t0, t1, t2);
6988    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t3, $t4", 0x435f909a,
6989                                0xaf8f7e18, t2, t3, t4);
6990    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t1, $t5", 0x2106ba5f,
6991                                0x87df4510, t4, t1, t5);
6992    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t6, $t7, $t3", 0x246a6376,
6993                                0xabf4e8e1, t6, t7, t3);
6994    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t5, $t3, $t2", 0x1046a1a3,
6995                                0xf4c0eeac, t5, t3, t2);
6996    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t2, $t4, $t8", 0x638ca515,
6997                                0x006a54f2, t2, t4, t8);
6998    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t0, $t8, $t0", 0xf63e7a9d,
6999                                0x79f74493, t0, t8, t0);
7000    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.ph $t4, $t6, $t1", 0xbd6845cd,
7001                                0x9c09e313, t4, t6, t1);
7002 
7003    printf("-------- SHRAV_R.W --------\n");
7004    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t1, $t2", 0x7fffffff,
7005                                0x00000000, t0, t1, t2);
7006    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t3, $t4", 0x80000000,
7007                                0x00000000, t2, t3, t4);
7008    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t1, $t5", 0xfabc3435,
7009                                0xfabc3421, t4, t1, t5);
7010    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t6, $t7, $t3", 0x07654cb8,
7011                                0x734680bc, t6, t7, t3);
7012    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t5, $t3, $t2", 0xf973437b,
7013                                0x80000000, t5, t3, t2);
7014    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t4, $t8", 0x00ff0001,
7015                                0xff01ffff, t2, t4, t8);
7016    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t8, $t0", 0x7fff7004,
7017                                0x7fff7fff, t0, t8, t0);
7018    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t6, $t1", 0x0000c420,
7019                                0x00000555, t4, t6, t1);
7020    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t1, $t2", 0x00000000,
7021                                0x00000000, t0, t1, t2);
7022    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t3, $t4", 0x80000000,
7023                                0x80000000, t2, t3, t4);
7024    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t1, $t5", 0xaaaaaaaa,
7025                                0x55555555, t4, t1, t5);
7026    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t6, $t7, $t3", 0x00000018,
7027                                0xffff2435, t6, t7, t3);
7028    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t5, $t3, $t2", 0xbabababa,
7029                                0xabababab, t5, t3, t2);
7030    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t4, $t8", 0xf0f0f0f0,
7031                                0xfc79b4d2, t2, t4, t8);
7032    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t8, $t0", 0xfbde3976,
7033                                0x00000000, t0, t8, t0);
7034    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t6, $t1", 0x23534870,
7035                                0x00354565, t4, t6, t1);
7036    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t1, $t2", 0x980b7cde,
7037                                0x00086755, t0, t1, t2);
7038    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t3, $t4", 0x00000018,
7039                                0x8f8f8f8f, t2, t3, t4);
7040    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t1, $t5", 0x92784656,
7041                                0xeeeeeeee, t4, t1, t5);
7042    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t6, $t7, $t3", 0xcacacaca,
7043                                0x1bdbdbdb, t6, t7, t3);
7044    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t5, $t3, $t2", 0xbacabaca,
7045                                0xdecadeca, t5, t3, t2);
7046    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t4, $t8", 0x12fadeb4,
7047                                0x93474bde, t2, t4, t8);
7048    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t8, $t0", 0x7c000790,
7049                                0xfc0007ff, t0, t8, t0);
7050    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t6, $t1", 0xffffffff,
7051                                0xffffffff, t4, t6, t1);
7052    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t1, $t2", 0xf2f4df1f,
7053                                0xcb4ab48f, t0, t1, t2);
7054    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t3, $t4", 0x435f909a,
7055                                0xaf8f7e18, t2, t3, t4);
7056    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t1, $t5", 0x2106ba5f,
7057                                0x87df4510, t4, t1, t5);
7058    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t6, $t7, $t3", 0x246a6376,
7059                                0xabf4e8e1, t6, t7, t3);
7060    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t5, $t3, $t2", 0x1046a1a3,
7061                                0xf4c0eeac, t5, t3, t2);
7062    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t2, $t4, $t8", 0x638ca515,
7063                                0x006a54f2, t2, t4, t8);
7064    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t0, $t8, $t0", 0xf63e7a9d,
7065                                0x79f74493, t0, t8, t0);
7066    TESTDSPINST_RD_RS_RT_NODSPC("shrav_r.w $t4, $t6, $t1", 0xbd6845cd,
7067                                0x9c09e313, t4, t6, t1);
7068 
7069    printf("-------- SHRL.QB --------\n");
7070    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t1, 1", 0x2fff0000, 1, t0, t1);
7071    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t3, 2", 0x2fff0000, 2, t2, t3);
7072    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t1, 3", 0x2fff0000, 3, t4, t1);
7073    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t6, $t7, 4", 0xff460000, 4, t6, t7);
7074    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t5, $t3, 0", 0x80000000, 0, t5, t3);
7075    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t4, 7", 0xff01ffff, 7, t2, t4);
7076    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t8, 7", 0x7fff7fff, 7, t0, t8);
7077    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t6, 0", 0x00000555, 0, t4, t6);
7078    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
7079    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t3, 2", 0x80000000, 2, t2, t3);
7080    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t1, 3", 0x55555555, 3, t4, t1);
7081    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t6, $t7, 4", 0xffff2435, 4, t6, t7);
7082    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t5, $t3, 5", 0xabababab, 5, t5, t3);
7083    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t4, 6", 0xfc79b4d2, 6, t2, t4);
7084    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t8, 7", 0x00000000, 7, t0, t8);
7085    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t6, 0", 0x00354565, 0, t4, t6);
7086    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t1, 1", 0x00086755, 1, t0, t1);
7087    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t3, 2", 0x8f8f8f8f, 2, t2, t3);
7088    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t1, 3", 0xeeeeeeee, 3, t4, t1);
7089    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t6, $t7, 4", 0x1bdbdbdb, 4, t6, t7);
7090    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t5, $t3, 5", 0xdecadeca, 5, t5, t3);
7091    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t4, 6", 0x93474bde, 6, t2, t4);
7092    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t8, 7", 0xfc0007ff, 7, t0, t8);
7093    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t6, 0", 0xffffffff, 0, t4, t6);
7094    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t1, 3", 0xcb4ab48f, 3, t0, t1);
7095    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t3, 4", 0xaf8f7e18, 4, t2, t3);
7096    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t1, 0", 0x87df4510, 0, t4, t1);
7097    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t6, $t7, 7", 0xabf4e8e1, 7, t6, t7);
7098    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t5, $t3, 7", 0xf4c0eeac, 7, t5, t3);
7099    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t2, $t4, 5", 0x006a54f2, 5, t2, t4);
7100    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t0, $t8, 1", 0x79f74493, 1, t0, t8);
7101    TESTDSPINST_RD_RT_SA_NODSPC("shrl.qb $t4, $t6, 2", 0x9c09e313, 2, t4, t6);
7102 
7103    printf("-------- SHRLV.QB -------- \n");
7104    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t1, $t2", 0x2fff0000, 0x00000001,
7105                                t0, t1, t2);
7106    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t3, $t4", 0x2fff0000, 0x73741802,
7107                                t2, t3, t4);
7108    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t1, $t5", 0x2fff0000, 0x80003403,
7109                                t4, t1, t5);
7110    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t6, $t7, $t3", 0xff460000, 0x73468004,
7111                                t6, t7, t3);
7112    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t5, $t3, $t2", 0x00008000, 0x80000000,
7113                                t5, t3, t2);
7114    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t4, $t8", 0x00010001, 0xffffff07,
7115                                t2, t4, t8);
7116    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t8, $t0", 0x7fff7fff, 0x7fff7f07,
7117                                t0, t8, t0);
7118    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t6, $t1", 0xffffffff, 0x00000505,
7119                                t4, t6, t1);
7120    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t1, $t2", 0xabababab, 0x00000000,
7121                                t0, t1, t2);
7122    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t3, $t4", 0xdecadeca, 0x80000000,
7123                                t2, t3, t4);
7124    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t1, $t5", 0xbacabaca, 0x55555555,
7125                                t4, t1, t5);
7126    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t6, $t7, $t3", 0x3545ff80, 0xffff2434,
7127                                t6, t7, t3);
7128    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t5, $t3, $t2", 0x734680bc, 0xabababa3,
7129                                t5, t3, t2);
7130    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t4, $t8", 0xc4dbfe20, 0xfc79b4d2,
7131                                t2, t4, t8);
7132    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t8, $t0", 0x00000000, 0x00000000,
7133                                t0, t8, t0);
7134    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t3, $t1", 0x55555555, 0x00354561,
7135                                t4, t3, t1);
7136    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t1, $t2", 0xad80bce4, 0x00086755,
7137                                t0, t1, t2);
7138    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t3, $t4", 0x7f003245, 0x8f8f8f8f,
7139                                t2, t3, t4);
7140    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t1, $t5", 0x93474bde, 0xeeeeeeee,
7141                                t4, t1, t5);
7142    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t6, $t7, $t3", 0xf97343ff, 0x1bdbdbdb,
7143                                t6, t7, t3);
7144    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t5, $t3, $t2", 0x980b7cde, 0xdecadeca,
7145                                t5, t3, t2);
7146    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t4, $t8", 0x0555adec, 0x93474bde,
7147                                t2, t4, t8);
7148    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t8, $t0", 0x23534870, 0xfc0007ff,
7149                                t0, t8, t0);
7150    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t3, $t1", 0x80003286, 0xffffffff,
7151                                t4, t3, t1);
7152    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t6, $t1", 0x4387ffff, 0xdecadeca,
7153                                t4, t6, t1);
7154    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t1, $t2", 0x0cd6b508, 0xbacabaca,
7155                                t0, t1, t2);
7156    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t3, $t4", 0x6731e282, 0x3545ff80,
7157                                t2, t3, t4);
7158    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t1, $t5", 0x26edf28f, 0x734680bc,
7159                                t4, t1, t5);
7160    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t6, $t7, $t3", 0x4b4ec9ca, 0xc4dbfe20,
7161                                t6, t7, t3);
7162    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t5, $t3, $t2", 0xc1037fa4, 0x00000000,
7163                                t5, t3, t2);
7164    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t4, $t8", 0xcb4ab48f, 0x55555555,
7165                                t2, t4, t8);
7166    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t8, $t0", 0xaf8f7e18, 0xad80bce4,
7167                                t0, t8, t0);
7168    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t3, $t1", 0x87df4510, 0x7f003245,
7169                                t4, t3, t1);
7170    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t1, $t2", 0xabf4e8e1, 0x93474bde,
7171                                t0, t1, t2);
7172    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t3, $t4", 0xf4c0eeac, 0xf97343ff,
7173                                t2, t3, t4);
7174    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t1, $t5", 0x006a54f2, 0x980b7cde,
7175                                t4, t1, t5);
7176    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t6, $t7, $t3", 0x79f74493, 0x0555adec,
7177                                t6, t7, t3);
7178    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t5, $t3, $t2", 0x9c09e313, 0x23534870,
7179                                t5, t3, t2);
7180    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t2, $t4, $t8", 0x9c09e313, 0x9c09e313,
7181                                t2, t4, t8);
7182    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t0, $t8, $t0", 0x80000000, 0x80000000,
7183                                t0, t8, t0);
7184    TESTDSPINST_RD_RT_RS_NODSPC("shrlv.qb $t4, $t3, $t1", 0x004d8000, 0x004d8000,
7185                                t4, t3, t1);
7186 
7187    printf("-------- SUBQ.PH --------\n");
7188    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
7189                              t0, t1, t2);
7190    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t3, $t4", 0x045fb232, 0x00028632,
7191                              t2, t3, t4);
7192    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
7193                              t4, t1, t5);
7194    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
7195                              t6, t7, t3);
7196    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
7197                              t5, t3, t2);
7198    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
7199                              t2, t4, t8);
7200    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
7201                              t0, t8, t0);
7202    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
7203                              t4, t6, t1);
7204    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
7205                              t0, t1, t2);
7206    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
7207                              t2, t3, t4);
7208    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
7209                              t4, t1, t5);
7210    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
7211                              t6, t7, t3);
7212    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
7213                              t5, t3, t2);
7214    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
7215                              t2, t4, t8);
7216    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
7217                              t0, t8, t0);
7218    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
7219                              t4, t6, t1);
7220    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
7221                              t0, t1, t2);
7222    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
7223                              t2, t3, t4);
7224    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
7225                              t4, t1, t5);
7226    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
7227                              t6, t7, t3);
7228    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
7229                              t5, t3, t2);
7230    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
7231                              t2, t4, t8);
7232    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
7233                              t0, t8, t0);
7234    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
7235                              t4, t6, t1);
7236    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
7237                              t0, t1, t2);
7238    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
7239                              t2, t3, t4);
7240    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
7241                              t4, t1, t5);
7242    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
7243                              t6, t7, t3);
7244    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
7245                              t5, t3, t2);
7246    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
7247                              t2, t4, t8);
7248    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
7249                              t0, t8, t0);
7250    TESTDSPINST_RD_RS_RT_DSPC("subq.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
7251                              t4, t6, t1);
7252 
7253    printf("-------- SUBQ_S.PH --------\n");
7254    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
7255                              t0, t1, t2);
7256    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t3, $t4", 0x00020002, 0x00010001,
7257                              t2, t3, t4);
7258    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t1, $t5", 0x0002fffe, 0x0001ffff,
7259                              t4, t1, t5);
7260    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t6, $t7, $t3", 0x7fff8000, 0x7fff8000,
7261                              t6, t7, t3);
7262    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t5, $t3, $t2", 0x7fff8000, 0x7ffe8001,
7263                              t5, t3, t2);
7264    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
7265                              t0, t1, t2);
7266    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t3, $t4", 0x045fb232, 0x00028632,
7267                              t2, t3, t4);
7268    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
7269                              t4, t1, t5);
7270    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
7271                              t6, t7, t3);
7272    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
7273                              t5, t3, t2);
7274    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
7275                              t2, t4, t8);
7276    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
7277                              t0, t8, t0);
7278    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
7279                              t4, t6, t1);
7280    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
7281                              t0, t1, t2);
7282    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
7283                              t2, t3, t4);
7284    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
7285                              t4, t1, t5);
7286    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
7287                              t6, t7, t3);
7288    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
7289                              t5, t3, t2);
7290    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
7291                              t2, t4, t8);
7292    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
7293                              t0, t8, t0);
7294    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
7295                              t4, t6, t1);
7296    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
7297                              t0, t1, t2);
7298    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
7299                              t2, t3, t4);
7300    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
7301                              t4, t1, t5);
7302    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
7303                              t6, t7, t3);
7304    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
7305                              t5, t3, t2);
7306    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
7307                              t2, t4, t8);
7308    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
7309                              t0, t8, t0);
7310    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
7311                              t4, t6, t1);
7312    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
7313                              t0, t1, t2);
7314    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
7315                              t2, t3, t4);
7316    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
7317                              t4, t1, t5);
7318    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
7319                              t6, t7, t3);
7320    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
7321                              t5, t3, t2);
7322    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
7323                              t2, t4, t8);
7324    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
7325                              t0, t8, t0);
7326    TESTDSPINST_RD_RS_RT_DSPC("subq_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
7327                              t4, t6, t1);
7328 
7329    printf("-------- SUBQ_S.W --------\n");
7330    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t1, $t2", 0x7fffffff, 0x00000000,
7331                              t0, t1, t2);
7332    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t3, $t4", 0x80000000, 0x00000000,
7333                              t2, t3, t4);
7334    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
7335                              t4, t1, t5);
7336    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
7337                              t6, t7, t3);
7338    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
7339                              t5, t3, t2);
7340    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
7341                              t2, t4, t8);
7342    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
7343                              t0, t8, t0);
7344    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
7345                              t4, t6, t1);
7346    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t1, $t2", 0x00000000, 0x00000000,
7347                              t0, t1, t2);
7348    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t3, $t4", 0x80000000, 0x80000000,
7349                              t2, t3, t4);
7350    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
7351                              t4, t1, t5);
7352    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
7353                              t6, t7, t3);
7354    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
7355                              t5, t3, t2);
7356    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
7357                              t2, t4, t8);
7358    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
7359                              t0, t8, t0);
7360    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t6, $t1", 0x23534870, 0x00354565,
7361                              t4, t6, t1);
7362    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
7363                              t0, t1, t2);
7364    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
7365                              t2, t3, t4);
7366    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
7367                              t4, t1, t5);
7368    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
7369                              t6, t7, t3);
7370    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
7371                              t5, t3, t2);
7372    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
7373                              t2, t4, t8);
7374    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
7375                              t0, t8, t0);
7376    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
7377                              t4, t6, t1);
7378    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
7379                              t0, t1, t2);
7380    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
7381                              t2, t3, t4);
7382    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
7383                              t4, t1, t5);
7384    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
7385                              t6, t7, t3);
7386    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
7387                              t5, t3, t2);
7388    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
7389                              t2, t4, t8);
7390    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
7391                              t0, t8, t0);
7392    TESTDSPINST_RD_RS_RT_DSPC("subq_s.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
7393                              t4, t6, t1);
7394 
7395    printf("-------- SUBU.QB --------\n");
7396    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t1, $t2", 0x7fffffff, 0x00000000,
7397                              t0, t1, t2);
7398    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t3, $t4", 0x80000000, 0x00000000,
7399                              t2, t3, t4);
7400    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
7401                              t4, t1, t5);
7402    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
7403                              t6, t7, t3);
7404    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
7405                              t5, t3, t2);
7406    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
7407                              t2, t4, t8);
7408    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
7409                              t0, t8, t0);
7410    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
7411                              t4, t6, t1);
7412    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
7413                              t0, t1, t2);
7414    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
7415                              t2, t3, t4);
7416    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
7417                              t4, t1, t5);
7418    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
7419                              t6, t7, t3);
7420    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
7421                              t5, t3, t2);
7422    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
7423                              t2, t4, t8);
7424    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
7425                              t0, t8, t0);
7426    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
7427                              t4, t6, t1);
7428    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
7429                              t0, t1, t2);
7430    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
7431                              t2, t3, t4);
7432    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
7433                              t4, t1, t5);
7434    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
7435                              t6, t7, t3);
7436    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
7437                              t5, t3, t2);
7438    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
7439                              t2, t4, t8);
7440    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
7441                              t0, t8, t0);
7442    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
7443                              t4, t6, t1);
7444    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
7445                              t0, t1, t2);
7446    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
7447                              t2, t3, t4);
7448    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
7449                              t4, t1, t5);
7450    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
7451                              t6, t7, t3);
7452    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
7453                              t5, t3, t2);
7454    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
7455                              t2, t4, t8);
7456    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
7457                              t0, t8, t0);
7458    TESTDSPINST_RD_RS_RT_DSPC("subu.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
7459                              t4, t6, t1);
7460 
7461    printf("-------- SUBU_S.QB --------\n");
7462    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t1, $t2", 0x7fffffff, 0x00000000,
7463                              t0, t1, t2);
7464    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t3, $t4", 0x80000000, 0x00000000,
7465                              t2, t3, t4);
7466    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
7467                              t4, t1, t5);
7468    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
7469                              t6, t7, t3);
7470    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
7471                              t5, t3, t2);
7472    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
7473                              t2, t4, t8);
7474    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
7475                              t0, t8, t0);
7476    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
7477                              t4, t6, t1);
7478    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
7479                              t0, t1, t2);
7480    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
7481                              t2, t3, t4);
7482    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
7483                              t4, t1, t5);
7484    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
7485                              t6, t7, t3);
7486    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
7487                              t5, t3, t2);
7488    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
7489                              t2, t4, t8);
7490    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
7491                              t0, t8, t0);
7492    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
7493                              t4, t6, t1);
7494    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
7495                              t0, t1, t2);
7496    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
7497                              t2, t3, t4);
7498    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
7499                              t4, t1, t5);
7500    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
7501                              t6, t7, t3);
7502    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
7503                              t5, t3, t2);
7504    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
7505                              t2, t4, t8);
7506    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
7507                              t0, t8, t0);
7508    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
7509                              t4, t6, t1);
7510    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
7511                              t0, t1, t2);
7512    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
7513                              t2, t3, t4);
7514    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
7515                              t4, t1, t5);
7516    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
7517                              t6, t7, t3);
7518    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
7519                              t5, t3, t2);
7520    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
7521                              t2, t4, t8);
7522    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
7523                              t0, t8, t0);
7524    TESTDSPINST_RD_RS_RT_DSPC("subu_s.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
7525                              t4, t6, t1);
7526 #endif
7527 
7528    return 0;
7529 }