Home | History | Annotate | Download | only in mips32
      1 #include <stdio.h>
      2 /* Independent tests for each DSP instruction from MIPS32 DSP ASEr2 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 
     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 dspr2; \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", instruction, out, \
     56           RTval, dspCtrl);                                                 \
     57 }
     58 
     59 #define TESTDSPINST_RD_RT_NODSPC(instruction, RTval, RD, RT)        \
     60 {                                                                   \
     61    int out = 0xdeadbeef;                                            \
     62    __asm__ volatile(                                                \
     63       ".set dspr2; \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", instruction, out, RTval); \
     73 }
     74 
     75 #define TESTDSPINST_RD_RT_RS_NODSPC(instruction, RTval, RSval)               \
     76 {                                                                            \
     77    int out = 0;                                                              \
     78    __asm__ __volatile__(                                                     \
     79       ".set dspr2; \n\t"                                                     \
     80       "move $t1, %1 \n\t"                                                    \
     81       "move $t2, %2 \n\t"                                                    \
     82       instruction" $t0, $t1, $t2 \n\t"                                       \
     83       "move %0, $t0 \n\t"                                                    \
     84       : "=&r" (out)                                                          \
     85       : "r" (RTval), "r" (RSval)                                             \
     86       : "t0", "t1", "t2"                                                     \
     87    );                                                                        \
     88    printf("%s   out=0x%08x, RTval=0x%08x, RSval=0x%08x\n", instruction, out, \
     89           RTval, RSval);                                                     \
     90 }
     91 
     92 #define TESTDSPINST_RD_RS_RT_DSPC(instruction, RSval, RTval, RD, RS, RT)       \
     93 {                                                                              \
     94    int out = 0xdeadbeef;                                                       \
     95    int dspCtrl = 0x0;                                                          \
     96    __asm__ volatile(                                                           \
     97       ".set dspr2; \n\t"                                                       \
     98       "li $" #RD ", 0 \n\t"                                                    \
     99       "wrdsp $zero, 0x3f \n\t"                                                 \
    100       "move $" #RS ", %2 \n\t"                                                 \
    101       "move $" #RT ", %3 \n\t"                                                 \
    102       instruction " \n\t"                                                      \
    103       "move %0, $" #RD " \n\t"                                                 \
    104       "rddsp %1, 0x3f \n\t"                                                    \
    105       : "=&r" (out), "=&r" (dspCtrl)                                           \
    106       : "r" (RSval), "r"(RTval)                                                \
    107       : #RD, #RS, #RT                                                          \
    108    );                                                                          \
    109    printf("%s :: rs 0x%08x rt 0x%08x out 0x%08x DSPCtrl 0x%08x\n", instruction,\
    110           RSval, RTval, out, dspCtrl);                                         \
    111 }
    112 
    113 #define TESTDSPINST_BPOSGE32(instruction, RDval, POSval, RD, POSreg) \
    114 {                                                                    \
    115    unsigned int out = 0;                                             \
    116    __asm__ volatile(                                                 \
    117       ".set dspr2; \n\t"                                             \
    118       "move $" #POSreg ", %1 \n\t"                                   \
    119       "wrdsp $" #POSreg ", 0x3f \n\t"                                \
    120       "move $" #RD ", %2 \n\t"                                       \
    121       instruction" end"instruction#RDval" \n\t"                      \
    122       "nop \n\t"                                                     \
    123       "addi $" #RD ", $" #RD", 5 \n\t"                               \
    124       "end"instruction#RDval": \n\t"                                 \
    125       "addi $" #RD ", $" #RD", 1 \n\t"                               \
    126       "move %0, $" #RD " \n\t"                                       \
    127       : "=&r" (out)                                                  \
    128       : "r" (POSval), "r" (RDval)                                    \
    129       : #RD, #POSreg                                                 \
    130       );                                                             \
    131       printf(instruction" :: %d, POSval: %d\n", out, POSval);        \
    132 }
    133 
    134 #define TESTDSPINST_RS_RT_DSPC(instruction, RSval, RTval, RS, RT)            \
    135 {                                                                            \
    136    int dspCtrl = 0x0;                                                        \
    137    __asm__ volatile(                                                         \
    138       ".set dspr2; \n\t"                                                     \
    139       "wrdsp $zero, 0x3f \n\t"                                               \
    140       "move $" #RS ", %1 \n\t"                                               \
    141       "move $" #RT ", %2 \n\t"                                               \
    142       instruction " \n\t"                                                    \
    143       "rddsp %0, 0x3f \n\t"                                                  \
    144       : "=&r" (dspCtrl)                                                      \
    145       : "r" (RSval), "r"(RTval)                                              \
    146       : #RS, #RT                                                             \
    147    );                                                                        \
    148    printf("%s :: rs 0x%08x rt 0x%08x DSPCtrl 0x%08x \n", instruction, RSval, \
    149           RTval, dspCtrl);                                                   \
    150 }
    151 
    152 #define TESTDSPINST_RD_RS_RT_NODSPC(instruction, RSval, RTval, RD, RS, RT)     \
    153 {                                                                              \
    154    int out = 0xdeadbeef;                                                       \
    155    __asm__ volatile(                                                           \
    156       ".set dspr2; \n\t"                                                       \
    157       "li $" #RD ", 0 \n\t"                                                    \
    158       "move $" #RS ", %1 \n\t"                                                 \
    159       "move $" #RT ", %2 \n\t"                                                 \
    160       instruction " \n\t"                                                      \
    161       "move %0, $" #RD " \n\t"                                                 \
    162       : "=&r" (out)                                                            \
    163       : "r" (RSval), "r"(RTval)                                                \
    164       : #RD, #RS, #RT                                                          \
    165    );                                                                          \
    166    printf("%s :: rs 0x%08x rt 0x%08x out 0x%08x\n", instruction, RSval, RTval, \
    167           out);                                                                \
    168 }
    169 
    170 #define TESTDSPINST_AC_RS_RT_DSPC(instruction, ac, RSval, RTval, HIval, LOval, \
    171                                   RS, RT)                                      \
    172 {                                                                              \
    173    int out_hi = 0xdeadbeef;                                                    \
    174    int out_lo = 0xdeadbeef;                                                    \
    175    int dspCtrl = 0x0;                                                          \
    176    __asm__ volatile(                                                           \
    177       ".set dspr2; \n\t"                                                       \
    178       "move $" #RS ", %5 \n\t"                                                 \
    179       "move $" #RT ", %6 \n\t"                                                 \
    180       "mthi $" #RS", $" ac " \n\t"                                             \
    181       "mtlo $" #RT", $" ac " \n\t"                                             \
    182       "move $" #RS ", %3 \n\t"                                                 \
    183       "move $" #RT ", %4 \n\t"                                                 \
    184       "wrdsp $zero, 0x3f \n\t"                                                 \
    185       instruction " \n\t"                                                      \
    186       "rddsp %2, 0x3f \n\t"                                                    \
    187       "mfhi %0, $" ac " \n\t"                                                  \
    188       "mflo %1, $" ac " \n\t"                                                  \
    189       : "=&r" (out_hi), "=&r" (out_lo), "=&r" (dspCtrl)                        \
    190       : "r" (RSval), "r"(RTval), "r" (HIval), "r"(LOval)                       \
    191       : #RS, #RT                                                               \
    192    );                                                                          \
    193    printf("%s :: rs 0x%08x rt 0x%08x inHI 0x%08x inLO 0x%08x outHI 0x%08x "    \
    194           "outLO 0x%08x dspCtrl 0x%08x\n",instruction, RSval, RTval, HIval,    \
    195           LOval, out_hi, out_lo, dspCtrl);\
    196 }
    197 
    198 #define TESTDSPINST_AC_RS_RT_NODSPC(instruction, HIval, LOval, RSval, RTval) \
    199 {                                                                            \
    200    int HIout = 0;                                                            \
    201    int LOout = 0;                                                            \
    202    __asm__ __volatile__(                                                     \
    203       ".set dspr2; \n\t"                                                     \
    204       "li $t0, 0 \n\t"                                                       \
    205       "li $t1, 0 \n\t"                                                       \
    206       "mthi %2, $ac0 \n\t"                                                   \
    207       "mtlo %3, $ac0 \n\t"                                                   \
    208       "move $t0, %4 \n\t"                                                    \
    209       "move $t1, %5 \n\t"                                                    \
    210       instruction" $ac0, $t0, $t1 \n\t"                                      \
    211       "mfhi %0, $ac0 \n\t"                                                   \
    212       "mflo %1, $ac0 \n\t"                                                   \
    213       : "=&r" (HIout), "=&r" (LOout)                                         \
    214       : "r" (HIval), "r" (LOval), "r" (RSval), "r" (RTval)                   \
    215       : "t0", "t1"                                                           \
    216    );                                                                        \
    217    printf("%s   HIout=0x%08x, LOout=0x%08x, HIin=0x%08x, LOin=0x%08x, "      \
    218           "RSval=0x%08x, RTval=0x%08x\n", instruction, HIout, LOout, HIval,  \
    219           LOval, RSval, RTval);                                              \
    220 }
    221 
    222 #define TESTDSPINST_EXT(instruction, ac, RT, HIval, LOval, size, pos) \
    223 {                                                                     \
    224    int out = 0xdeadbeef;                                              \
    225    int dspCtrl = 0x0;                                                 \
    226    __asm__ volatile(                                                  \
    227       ".set dspr2; \n\t"                                              \
    228       "move $" #RT ", %2 \n\t"                                        \
    229       "wrdsp $" #RT ", 0x3f \n\t"                                     \
    230       "move $" #RT ", %3 \n\t"                                        \
    231       "mthi $" #RT", $" ac " \n\t"                                    \
    232       "move $" #RT ", %4 \n\t"                                        \
    233       "mtlo $" #RT", $" ac " \n\t"                                    \
    234       instruction " \n\t"                                             \
    235       "rddsp %1, 0x3f \n\t"                                           \
    236       "move %0, $" #RT " \n\t"                                        \
    237       : "=&r" (out), "=&r" (dspCtrl)                                  \
    238       : "r" (pos), "r" (HIval), "r" (LOval)                           \
    239       : #RT                                                           \
    240    );                                                                 \
    241    printf("%s :: rt 0x%08x %s 0x%08x%08x size %2d DSPCtrl 0x%08x\n",  \
    242           instruction, out, ac, HIval, LOval, size, dspCtrl);         \
    243 }
    244 
    245 #define TESTDSPINST_EXTV(instruction, ac, RT, HIval, LOval, RS, RSval, pos) \
    246 {                                                                           \
    247    int out = 0xdeadbeef;                                                    \
    248    int dspCtrl = 0x0;                                                       \
    249    __asm__ volatile(                                                        \
    250       ".set dspr2; \n\t"                                                    \
    251       "move $" #RS ", %5 \n\t"                                              \
    252       "move $" #RT ", %2 \n\t"                                              \
    253       "wrdsp $" #RT ", 0x3f \n\t"                                           \
    254       "move $" #RT ", %3 \n\t"                                              \
    255       "mthi $" #RT", $" ac " \n\t"                                          \
    256       "move $" #RT ", %4 \n\t"                                              \
    257       "mtlo $" #RT", $" ac " \n\t"                                          \
    258       instruction " \n\t"                                                   \
    259       "rddsp %1, 0x3f \n\t"                                                 \
    260       "move %0, $" #RT " \n\t"                                              \
    261       : "=&r" (out), "=&r" (dspCtrl)                                        \
    262       : "r" (pos), "r" (HIval), "r" (LOval), "r" (RSval)                    \
    263       : #RT, #RS                                                            \
    264    );                                                                       \
    265    printf("%s :: rt 0x%08x %s 0x%08x%08x rs 0x%08x DSPCtrl 0x%08x\n",       \
    266           instruction, out, ac, HIval, LOval, RSval, dspCtrl);              \
    267 }
    268 
    269 #define TESTDSPINST_INSV(instruction, RTval, RSval, RT, RS, _pos, _size)       \
    270 {                                                                              \
    271    unsigned int out;                                                           \
    272    __asm__ volatile(                                                           \
    273       ".set dspr2; \n\t"                                                       \
    274       "move $" #RS ", %3 \n\t"                                                 \
    275       "wrdsp $" #RS ", 0x1 \n\t"                                               \
    276       "move $" #RS ", %4 \n\t"                                                 \
    277       "wrdsp $" #RS ", 0x2 \n\t"                                               \
    278       "move $" #RS", %1 \n\t"                                                  \
    279       "move $" #RT", %2 \n\t"                                                  \
    280       "insv $" #RT ", $" #RS " \n\t"                                           \
    281       "move %0, $" #RT " \n\t"                                                 \
    282      : "=&r" (out)                                                             \
    283      : "r" (RSval), "r" (RTval), "r" (_pos), "r" (_size)                       \
    284      : #RS, #RT                                                                \
    285    );                                                                          \
    286    printf("insv :: out: 0x%08x rtIN 0x%08x rsIN 0x%08x posI %2d sizeI %2d \n", \
    287          out, RTval, RSval, _pos, _size>>7);                                   \
    288 }
    289 
    290 #define TESTDSPINST_LWX(index, RT, RS)                 \
    291 {                                                      \
    292     unsigned int out;                                  \
    293    __asm__ volatile(                                   \
    294       ".set dspr2; \n\t"                               \
    295      "move $" #RS", %1 \n\t"                           \
    296      "move $" #RT", %2 \n\t"                           \
    297      "lwx %0, $" #RT "($"#RS") \n\t"                   \
    298     : "=&r" (out)                                      \
    299     : "r" (mem), "r" (index)                           \
    300     : #RT, #RS, "memory"                               \
    301     );                                                 \
    302    printf("lwx :: out: 0x%08x mem[%d]\n", out, index); \
    303 }
    304 
    305 #define TESTDSPINST_LHX(index, RT, RS)                 \
    306 {                                                      \
    307     unsigned int out;                                  \
    308    __asm__ volatile(                                   \
    309       ".set dspr2; \n\t"                               \
    310      "move $" #RS", %1 \n\t"                           \
    311      "move $" #RT", %2 \n\t"                           \
    312      "lhx %0, $" #RT "($"#RS") \n\t"                   \
    313     : "=&r" (out)                                      \
    314     : "r" (mem), "r" (index)                           \
    315     : #RT, #RS, "memory"                               \
    316     );                                                 \
    317    printf("lhx :: out: 0x%08x mem[%d]\n", out, index); \
    318 }
    319 
    320 #define TESTDSPINST_LBUX(index, RT, RS)                 \
    321 {                                                       \
    322     unsigned int out;                                   \
    323    __asm__ volatile(                                    \
    324       ".set dspr2; \n\t"                                \
    325      "move $" #RS", %1 \n\t"                            \
    326      "move $" #RT", %2 \n\t"                            \
    327      "lbux %0, $" #RT "($"#RS") \n\t"                   \
    328     : "=&r" (out)                                       \
    329     : "r" (mem), "r" (index)                            \
    330     : #RT, #RS, "memory"                                \
    331     );                                                  \
    332    printf("lbux :: out: 0x%08x mem[%d]\n", out, index); \
    333 }
    334 
    335 #define TESTDSPINST_HILO(ac, RSval_hi, RSval_lo)                             \
    336 {                                                                            \
    337    unsigned int HI = 0xdeadbeef;                                             \
    338    unsigned int LO = 0xdeadbeef;                                             \
    339    __asm__ volatile(                                                         \
    340       ".set dspr2; \n\t"                                                     \
    341       "move $t0, %2 \n\t"                                                    \
    342       "move $t1, %3 \n\t"                                                    \
    343       "mthi $t0, $" ac " \n\t"                                               \
    344       "mtlo $t1, $" ac " \n\t"                                               \
    345       "mfhi %0, $" ac " \n\t"                                                \
    346       "mflo %1, $" ac " \n\t"                                                \
    347      : "=&r" (HI), "=&r" (LO)                                                \
    348      : "r" (RSval_hi), "r" (RSval_lo)                                        \
    349      : "t0", "t1"                                                            \
    350    );                                                                        \
    351    printf("rs_hi: 0x%08x rs_lo: 0x%08x %s out HI: 0x%08x, out LO: 0x%08x\n", \
    352           RSval_hi, RSval_lo, ac, HI, LO);                                   \
    353 }
    354 
    355 #define TESTDSPINST_MTHLIP(instruction, ac, HIval, LOval, RSval, RS, pos) \
    356 {                                                                         \
    357    unsigned int outHI;                                                    \
    358    unsigned int outLO;                                                    \
    359    unsigned int dspCtrl;                                                  \
    360    __asm__ volatile(                                                      \
    361       ".set dspr2; \n\t"                                                  \
    362       "move $" #RS ", %3 \n\t"                                            \
    363       "mthi $" #RS", $" ac " \n\t"                                        \
    364       "move $" #RS ", %4 \n\t"                                            \
    365       "mtlo $" #RS", $" ac " \n\t"                                        \
    366       "move $" #RS ", %5 \n\t"                                            \
    367       "wrdsp $" #RS ", 0x1 \n\t"                                          \
    368       "move $" #RS ", %6 \n\t"                                            \
    369       instruction " \n\t"                                                 \
    370       "mfhi %0, $" ac " \n\t"                                             \
    371       "mflo %1, $" ac " \n\t"                                             \
    372       "rddsp %2, 0x1 \n\t"                                                \
    373      : "=&r" (outHI), "=&r" (outLO), "=&r" (dspCtrl)                      \
    374      : "r" (HIval), "r" (LOval), "r" (pos), "r" (RSval)                   \
    375      : #RS                                                                \
    376    );                                                                     \
    377    printf("mthlip :: acIn: 0x%08x%08x rsIn 0x%08x posIn 0x%08x acOut "    \
    378           "0x%08x%08x posOut 0x%08x\n", HIval, LOval, RSval, pos, outHI,  \
    379           outLO, dspCtrl);                                                \
    380 }
    381 
    382 #define TESTDSPINST_PICK(instruction, instruction1, RSval, RTval, RD, RS, RT) \
    383 {                                                                             \
    384    int out = 0xdeadbeef;                                                      \
    385    int dspCtrl1 = 0x0;                                                        \
    386    __asm__ volatile(                                                          \
    387       ".set dspr2; \n\t"                                                      \
    388       "li $" #RD ", 0 \n\t"                                                   \
    389       "wrdsp $zero, 0x1f \n\t"                                                \
    390       "move $" #RS ", %2 \n\t"                                                \
    391       "move $" #RT ", %3 \n\t"                                                \
    392       instruction1 " \n\t"                                                    \
    393       "rddsp %1, 0x1f \n\t"                                                   \
    394       instruction " \n\t"                                                     \
    395       "move %0, $" #RD " \n\t"                                                \
    396       : "=&r" (out), "=&r" (dspCtrl1)                                         \
    397       : "r" (RSval), "r"(RTval)                                               \
    398       : #RD, #RS, #RT                                                         \
    399    );                                                                         \
    400    printf("%s :: %s rs 0x%08x rt 0x%08x out 0x%08x DSPCtrl1 0x%x\n",          \
    401         instruction, instruction1, RSval, RTval, out, dspCtrl1);              \
    402 }
    403 
    404 #define TESTDSPINST_RADDU_W_QB(instruction, RSval, RD, RS)          \
    405 {                                                                   \
    406    int out = 0xdeadbeef;                                            \
    407    __asm__ volatile(                                                \
    408       ".set dspr2; \n\t"                                            \
    409       "move $" #RS ", %1 \n\t"                                      \
    410       instruction " \n\t"                                           \
    411       "move %0, $" #RD " \n\t"                                      \
    412       : "=&r" (out)                                                 \
    413       : "r" (RSval)                                                 \
    414       : #RD, #RS                                                    \
    415    );                                                               \
    416    printf("%s :: out 0x%08x rs 0x%08x\n", instruction, out, RSval); \
    417 }
    418 
    419 #define TESTDSPINST_RDDSPWRDSP(REGval, mask)                               \
    420 {                                                                          \
    421    int out = 0xdeadbeef;                                                   \
    422    __asm__ volatile(                                                       \
    423       ".set dspr2; \n\t"                                                   \
    424       "move $t0, %1 \n\t"                                                  \
    425       "wrdsp $t0, " #mask " \n\t"                                          \
    426       "rddsp %0, " #mask " \n\t"                                           \
    427       : "=&r" (out)                                                        \
    428       : "r" (REGval)                                                       \
    429       : "t0"                                                               \
    430    );                                                                      \
    431    printf("outVal 0x%08x inVal 0x%08x mask 0x%08x \n", out, REGval, mask); \
    432 }
    433 
    434 #define TESTDSPINST_RD_IMM_NODSPC(instruction, Imm, RD)           \
    435 {                                                                 \
    436    int out = 0xdeadbeef;                                          \
    437    __asm__ volatile(                                              \
    438       ".set dspr2; \n\t"                                          \
    439       "li $" #RD ", 0 \n\t"                                       \
    440       instruction " \n\t"                                         \
    441       "move %0, $" #RD " \n\t"                                    \
    442       : "=&r" (out)                                               \
    443       :                                                           \
    444       : #RD                                                       \
    445    );                                                             \
    446    printf("%s :: rd 0x%08x imm 0x%08x\n", instruction, out, Imm); \
    447 }
    448 
    449 #define TESTDSPINST_SHILO(ac, HIval, LOval, shift)                             \
    450 {                                                                              \
    451    int outHI = 0xdeadbeef;                                                     \
    452    int outLO = 0xdeadbeef;                                                     \
    453    __asm__ volatile(                                                           \
    454       ".set dspr2; \n\t"                                                       \
    455       "move $t0, %2 \n\t"                                                      \
    456       "move $t1, %3 \n\t"                                                      \
    457       "mthi $t0, $" ac " \n\t"                                                 \
    458       "mtlo $t1, $" ac " \n\t"                                                 \
    459       "shilo $" ac ", " #shift " \n\t"                                         \
    460       "mfhi %0, $" ac " \n\t"                                                  \
    461       "mflo %1, $" ac " \n\t"                                                  \
    462       : "=&r" (outHI), "=&r" (outLO)                                           \
    463       : "r" (HIval), "r" (LOval)                                               \
    464       : "t0", "t1"                                                             \
    465    );                                                                          \
    466    printf("shilo %s, %3d inAcc = 0x%08x%08x outAcc = 0x%08x%08x\n", ac, shift, \
    467           HIval, LOval, outHI, outLO);                                         \
    468 }
    469 
    470 #define TESTDSP_SHILOV(ac, HIval, LOval, RSval, RS)                         \
    471 {                                                                           \
    472    int outHI = 0xdeadbeef;                                                  \
    473    int outLO = 0xdeadbeef;                                                  \
    474    __asm__ volatile(                                                        \
    475       ".set dspr2; \n\t"                                                    \
    476       "move $" #RS ", %2 \n\t"                                              \
    477       "mthi $" #RS ", $" ac " \n\t"                                         \
    478       "move $" #RS ", %3 \n\t"                                              \
    479       "mtlo $t1, $" ac " \n\t"                                              \
    480       "move $" #RS ", %4 \n\t"                                              \
    481       "shilov $" ac ", $" #RS " \n\t"                                       \
    482       "mfhi %0, $" ac " \n\t"                                               \
    483       "mflo %1, $" ac " \n\t"                                               \
    484       : "=&r" (outHI), "=&r" (outLO)                                        \
    485       : "r" (HIval), "r" (LOval), "r" (RSval)                               \
    486       : #RS                                                                 \
    487    );                                                                       \
    488    printf("shilov %s, rs 0x%08x inAcc = 0x%08x%08x outAcc = 0x%08x%08x\n",  \
    489            ac, RSval, HIval, LOval, outHI, outLO);                          \
    490 }
    491 
    492 #define TESTDSPINST_RD_RT_SA_DSPC(instruction, RTval, SAval, RD, RT)        \
    493 {                                                                           \
    494    int out = 0xdeadbeef;                                                    \
    495    int dspCtrl = 0x0;                                                       \
    496    __asm__ volatile(                                                        \
    497       ".set dspr2; \n\t"                                                    \
    498       "li $" #RD ", 0 \n\t"                                                 \
    499       "wrdsp $zero, 0x3f \n\t"                                              \
    500       "move $" #RT ", %2 \n\t"                                              \
    501       instruction " \n\t"                                                   \
    502       "rddsp %1, 0x3f \n\t"                                                 \
    503       "move %0, $" #RD " \n\t"                                              \
    504       : "=&r" (out), "=&r" (dspCtrl)                                        \
    505       : "r"(RTval)                                                          \
    506       : #RD, #RT                                                            \
    507    );                                                                       \
    508    printf("%s :: rd 0x%08x rt 0x%08x sa %2d DSPCtrl 0x%08x\n", instruction, \
    509           out, RTval, SAval, dspCtrl);                                      \
    510 }
    511 
    512 #define TESTDSPINST_RD_RT_SA_NODSPC(instruction, RTval, SAval, RD, RT)   \
    513 {                                                                        \
    514    int out = 0xdeadbeef;                                                 \
    515    __asm__ volatile(                                                     \
    516       ".set dspr2; \n\t"                                                 \
    517       "li $" #RD ", 0 \n\t"                                              \
    518       "move $" #RT ", %1 \n\t"                                           \
    519       instruction " \n\t"                                                \
    520       "move %0, $" #RD " \n\t"                                           \
    521       : "=&r" (out)                                                      \
    522       : "r"(RTval)                                                       \
    523       : #RD, #RT                                                         \
    524    );                                                                    \
    525    printf("%s :: rd 0x%08x rt 0x%08x sa %2d\n", instruction, out, RTval, \
    526           SAval);                                                        \
    527 }
    528 
    529 #define TESTDSPINST_RT_RS_SA_NODSPC(instruction, RSval, RTval, SAval, RT, RS) \
    530 {                                                                             \
    531    int out = 0xdeadbeef;                                                      \
    532    __asm__ volatile(                                                          \
    533       ".set dspr2; \n\t"                                                      \
    534       "move $" #RS ", %1 \n\t"                                                \
    535       "move $" #RT ", %2 \n\t"                                                \
    536       instruction " \n\t"                                                     \
    537       "move %0, $" #RT " \n\t"                                                \
    538       : "=&r" (out)                                                           \
    539       : "r" (RSval), "r"(RTval)                                               \
    540       : #RS, #RT                                                              \
    541    );                                                                         \
    542    printf("%s :: rt 0x%08x rs 0x%08x out 0x%08x \n", instruction, RTval,      \
    543           RSval, out);                                                        \
    544 }
    545 
    546 int main(int argc, char **argv)
    547 {
    548 #if (__mips==32) && (__mips_isa_rev>=2)
    549    printf("-------- ABSQ_S.QB --------\n");
    550    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t1", 0x00000000, t0, t1);
    551    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t3", 0x00000286, t2, t3);
    552    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t1", 0xfabc2435, t4, t1);
    553    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t6, $t7", 0x734680bc, t6, t7);
    554    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t5, $t3", 0x80000000, t5, t3);
    555    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t4", 0xffffffff, t2, t4);
    556    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t8", 0xfff45fff, t0, t8);
    557    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t4", 0x00000555, t4, t4);
    558    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t1", 0x23534870, t0, t1);
    559    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t3", 0x0555adec, t2, t3);
    560    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t1", 0x980b7cde, t4, t1);
    561    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t6, $t7", 0xf973437b, t6, t7);
    562    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t5, $t3", 0x93474bde, t5, t3);
    563    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t4", 0x55555555, t2, t4);
    564    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t8", 0xc4dbfe20, t0, t8);
    565    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t4", 0x734680bc, t4, t4);
    566    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t1", 0x00354565, t0, t1);
    567    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t3", 0xbacabaca, t2, t3);
    568    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t1", 0xdecadeca, t4, t1);
    569    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t6, $t7", 0x00000286, t6, t7);
    570    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t5, $t3", 0xabababab, t5, t3);
    571    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t4", 0x00086755, t2, t4);
    572    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t8", 0x8f8f8f80, t0, t8);
    573    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t4", 0xeeeeeeee, t4, t4);
    574    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t1", 0x1bdbdbdb, t0, t1);
    575    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t3", 0xdecadeca, t2, t3);
    576    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t1", 0x93474bde, t4, t1);
    577    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t6, $t7", 0xfabfabfa, t6, t7);
    578    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t5, $t3", 0x083b3571, t5, t3);
    579    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t4", 0xb9743941, t2, t4);
    580    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t8", 0xbc80f924, t0, t8);
    581    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t4", 0xcc3c201c, t4, t4);
    582    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t1", 0x1ebaf88e, t0, t1);
    583    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t3", 0x722d5e20, t2, t3);
    584    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t1", 0xa1d6f791, t4, t1);
    585    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t6, $t7", 0x7b11bee7, t6, t7);
    586    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t5, $t3", 0xa5631488, t5, t3);
    587    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t2, $t4", 0xb10bcc65, t2, t4);
    588    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t0, $t8", 0x73f39fca, t0, t8);
    589    TESTDSPINST_RD_RT_DSPC("absq_s.qb $t4, $t4", 0x80808080, t4, t4);
    590 
    591    printf("-------- ADDQH.PH --------\n");
    592    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
    593                                t0, t1, t2);
    594    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
    595                                t2, t3, t4);
    596    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
    597                                t4, t1, t5);
    598    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
    599                                t6, t7, t3);
    600    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
    601                                t5, t3, t2);
    602    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
    603                                t2, t4, t8);
    604    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    605                                t0, t8, t0);
    606    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
    607                                t4, t6, t1);
    608    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t3, $t4", 0x00000004, 1073741824,
    609                                t2, t3, t4);
    610    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
    611                                t4, t1, t5);
    612    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
    613                                t6, t7, t3);
    614    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
    615                                t5, t3, t2);
    616    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
    617                                t2, t4, t8);
    618    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    619                                t0, t8, t0);
    620    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
    621                                t4, t6, t1);
    622    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
    623                                t0, t1, t2);
    624    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
    625                                t2, t3, t4);
    626    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
    627                                t4, t1, t5);
    628    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
    629                                t6, t7, t3);
    630    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
    631                                t5, t3, t2);
    632    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
    633                                t2, t4, t8);
    634    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
    635                                t0, t8, t0);
    636    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
    637                                t4, t6, t1);
    638    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
    639                                t0, t1, t2);
    640    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
    641                                t2, t3, t4);
    642    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
    643                                t4, t1, t5);
    644    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
    645                                t6, t7, t3);
    646    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
    647                                t5, t3, t2);
    648    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
    649                                t2, t4, t8);
    650    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
    651                                t0, t8, t0);
    652    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
    653                                t4, t6, t1);
    654    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
    655                                t0, t1, t2);
    656    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
    657                                t2, t3, t4);
    658    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
    659                                t4, t1, t5);
    660    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
    661                                t6, t7, t3);
    662    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
    663                                t5, t3, t2);
    664    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
    665                                t2, t4, t8);
    666    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
    667                                t0, t8, t0);
    668    TESTDSPINST_RD_RS_RT_NODSPC("addqh.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
    669                                t4, t6, t1);
    670 
    671    printf("-------- ADDQH_R.PH --------\n");
    672    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t1, $t2", 0x00000000,
    673                                0x00000000, t0, t1, t2);
    674    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t3, $t4", 0x00045fb2,
    675                                0x00000286, t2, t3, t4);
    676    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t1, $t5", 0x00002435,
    677                                0xffff3421, t4, t1, t5);
    678    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t6, $t7, $t3", 0x07654cb8,
    679                                0x734680bc, t6, t7, t3);
    680    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t5, $t3, $t2", 0xf973437b,
    681                                0x80000000, t5, t3, t2);
    682    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t4, $t8", 0x00010001,
    683                                0xffffffff, t2, t4, t8);
    684    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t8, $t0", 0x7fff7fff,
    685                                0x7fff7fff, t0, t8, t0);
    686    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t6, $t1", 0x0000c420,
    687                                0x00000555, t4, t6, t1);
    688    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t3, $t4", 0x00000004,
    689                                1073741824, t2, t3, t4);
    690    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t1, $t5", 0x80002435,
    691                                0x80003421, t4, t1, t5);
    692    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t6, $t7, $t3", 0x76548000,
    693                                0x73468000, t6, t7, t3);
    694    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t5, $t3, $t2", 0x80000000,
    695                                0x80000000, t5, t3, t2);
    696    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t4, $t8", 0x00010001,
    697                                0xffffffff, t2, t4, t8);
    698    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t8, $t0", 0x7fff7fff,
    699                                0x7fff7fff, t0, t8, t0);
    700    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t6, $t1", 0x0000c420,
    701                                0x00000555, t4, t6, t1);
    702    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t1, $t2", 0x00000000,
    703                                0x00000000, t0, t1, t2);
    704    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t3, $t4", 0x80000000,
    705                                0x80000000, t2, t3, t4);
    706    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t1, $t5", 0xaaaaaaaa,
    707                                0x55555555, t4, t1, t5);
    708    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t6, $t7, $t3", 0x00000018,
    709                                0xffff2435, t6, t7, t3);
    710    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t5, $t3, $t2", 0xbabababa,
    711                                0xabababab, t5, t3, t2);
    712    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t4, $t8", 0xf0f0f0f0,
    713                                0xfc79b4d2, t2, t4, t8);
    714    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t8, $t0", 0xfbde3976,
    715                                0x00000000, t0, t8, t0);
    716    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t6, $t1", 0x23534870,
    717                                0x00354565, t4, t6, t1);
    718    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t1, $t2", 0x980b7cde,
    719                                0x00086755, t0, t1, t2);
    720    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t3, $t4", 0x00000018,
    721                                0x8f8f8f8f, t2, t3, t4);
    722    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t1, $t5", 0x92784656,
    723                                0xeeeeeeee, t4, t1, t5);
    724    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t6, $t7, $t3", 0xcacacaca,
    725                                0x1bdbdbdb, t6, t7, t3);
    726    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t5, $t3, $t2", 0xbacabaca,
    727                                0xdecadeca, t5, t3, t2);
    728    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t4, $t8", 0x12fadeb4,
    729                                0x93474bde, t2, t4, t8);
    730    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t8, $t0", 0x7c000790,
    731                                0xfc0007ff, t0, t8, t0);
    732    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t6, $t1", 0xffffffff,
    733                                0xffffffff, t4, t6, t1);
    734    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t1, $t2", 0xf2f4df1f,
    735                                0xcb4ab48f, t0, t1, t2);
    736    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t3, $t4", 0x435f909a,
    737                                0xaf8f7e18, t2, t3, t4);
    738    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t1, $t5", 0x2106ba5f,
    739                                0x87df4510, t4, t1, t5);
    740    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t6, $t7, $t3", 0x246a6376,
    741                                0xabf4e8e1, t6, t7, t3);
    742    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t5, $t3, $t2", 0x1046a1a3,
    743                                0xf4c0eeac, t5, t3, t2);
    744    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t2, $t4, $t8", 0x638ca515,
    745                                0x006a54f2, t2, t4, t8);
    746    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t0, $t8, $t0", 0xf63e7a9d,
    747                                0x79f74493, t0, t8, t0);
    748    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.ph $t4, $t6, $t1", 0xbd6845cd,
    749                                0x9c09e313, t4, t6, t1);
    750 
    751    printf("-------- ADDQH.W --------\n");
    752    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t1, $t2", 0x00000000, 0x00000000,
    753                                t0, t1, t2);
    754    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t3, $t4", 0x00045fb2, 0x00000286,
    755                                t2, t3, t4);
    756    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t1, $t5", 0x00002435, 0xffff3421,
    757                                t4, t1, t5);
    758    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
    759                                t6, t7, t3);
    760    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
    761                                t5, t3, t2);
    762    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
    763                                t2, t4, t8);
    764    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    765                                t0, t8, t0);
    766    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
    767                                t4, t6, t1);
    768    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t3, $t4", 0x00000004, 1073741824,
    769                                t2, t3, t4);
    770    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t1, $t5", 0x80002435, 0x80003421,
    771                                t4, t1, t5);
    772    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t6, $t7, $t3", 0x76548000, 0x73468000,
    773                                t6, t7, t3);
    774    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t5, $t3, $t2", 0x80000000, 0x80000000,
    775                                t5, t3, t2);
    776    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
    777                                t2, t4, t8);
    778    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    779                                t0, t8, t0);
    780    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
    781                                t4, t6, t1);
    782    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t1, $t2", 0x00000000, 0x00000000,
    783                                t0, t1, t2);
    784    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t3, $t4", 0x80000000, 0x80000000,
    785                                t2, t3, t4);
    786    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
    787                                t4, t1, t5);
    788    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
    789                                t6, t7, t3);
    790    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
    791                                t5, t3, t2);
    792    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
    793                                t2, t4, t8);
    794    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
    795                                t0, t8, t0);
    796    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t6, $t1", 0x23534870, 0x00354565,
    797                                t4, t6, t1);
    798    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
    799                                t0, t1, t2);
    800    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
    801                                t2, t3, t4);
    802    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
    803                                t4, t1, t5);
    804    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
    805                                t6, t7, t3);
    806    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
    807                                t5, t3, t2);
    808    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
    809                                t2, t4, t8);
    810    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
    811                                t0, t8, t0);
    812    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
    813                                t4, t6, t1);
    814    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
    815                                t0, t1, t2);
    816    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
    817                                t2, t3, t4);
    818    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
    819                                t4, t1, t5);
    820    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
    821                                t6, t7, t3);
    822    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
    823                                t5, t3, t2);
    824    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
    825                                t2, t4, t8);
    826    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
    827                                t0, t8, t0);
    828    TESTDSPINST_RD_RS_RT_NODSPC("addqh.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
    829                                t4, t6, t1);
    830 
    831    printf("-------- ADDQH_R.W --------\n");
    832    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t1, $t2", 0x00000000,
    833                                0x00000000, t0, t1, t2);
    834    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t3, $t4", 0x00045fb2,
    835                                0x00000286, t2, t3, t4);
    836    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t1, $t5", 0x00002435,
    837                                0xffff3421, t4, t1, t5);
    838    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t6, $t7, $t3", 0x07654cb8,
    839                                0x734680bc, t6, t7, t3);
    840    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t5, $t3, $t2", 0xf973437b,
    841                                0x80000000, t5, t3, t2);
    842    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t4, $t8", 0x00010001,
    843                                0xffffffff, t2, t4, t8);
    844    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t8, $t0", 0x7fff7fff,
    845                                0x7fff7fff, t0, t8, t0);
    846    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t6, $t1", 0x0000c420,
    847                                0x00000555, t4, t6, t1);
    848    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t3, $t4", 0x00000004,
    849                                1073741824, t2, t3, t4);
    850    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t1, $t5", 0x80002435,
    851                                0x80003421, t4, t1, t5);
    852    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t6, $t7, $t3", 0x76548000,
    853                                0x73468000, t6, t7, t3);
    854    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t5, $t3, $t2", 0x80000000,
    855                                0x80000000, t5, t3, t2);
    856    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t4, $t8", 0x00010001,
    857                                0xffffffff, t2, t4, t8);
    858    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t8, $t0", 0x7fff7fff,
    859                                0x7fff7fff, t0, t8, t0);
    860    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t6, $t1", 0x0000c420,
    861                                0x00000555, t4, t6, t1);
    862    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t1, $t2", 0x00000000,
    863                                0x00000000, t0, t1, t2);
    864    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t3, $t4", 0x80000000,
    865                                0x80000000, t2, t3, t4);
    866    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t1, $t5", 0xaaaaaaaa,
    867                                0x55555555, t4, t1, t5);
    868    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t6, $t7, $t3", 0x00000018,
    869                                0xffff2435, t6, t7, t3);
    870    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t5, $t3, $t2", 0xbabababa,
    871                                0xabababab, t5, t3, t2);
    872    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t4, $t8", 0xf0f0f0f0,
    873                                0xfc79b4d2, t2, t4, t8);
    874    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t8, $t0", 0xfbde3976,
    875                                0x00000000, t0, t8, t0);
    876    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t6, $t1", 0x23534870,
    877                                0x00354565, t4, t6, t1);
    878    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t1, $t2", 0x980b7cde,
    879                                0x00086755, t0, t1, t2);
    880    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t3, $t4", 0x00000018,
    881                                0x8f8f8f8f, t2, t3, t4);
    882    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t1, $t5", 0x92784656,
    883                                0xeeeeeeee, t4, t1, t5);
    884    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t6, $t7, $t3", 0xcacacaca,
    885                                0x1bdbdbdb, t6, t7, t3);
    886    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t5, $t3, $t2", 0xbacabaca,
    887                                0xdecadeca, t5, t3, t2);
    888    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t4, $t8", 0x12fadeb4,
    889                                0x93474bde, t2, t4, t8);
    890    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t8, $t0", 0x7c000790,
    891                                0xfc0007ff, t0, t8, t0);
    892    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t6, $t1", 0xffffffff,
    893                                0xffffffff, t4, t6, t1);
    894    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t1, $t2", 0xf2f4df1f,
    895                                0xcb4ab48f, t0, t1, t2);
    896    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t3, $t4", 0x435f909a,
    897                                0xaf8f7e18, t2, t3, t4);
    898    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t1, $t5", 0x2106ba5f,
    899                                0x87df4510, t4, t1, t5);
    900    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t6, $t7, $t3", 0x246a6376,
    901                                0xabf4e8e1, t6, t7, t3);
    902    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t5, $t3, $t2", 0x1046a1a3,
    903                                0xf4c0eeac, t5, t3, t2);
    904    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t2, $t4, $t8", 0x638ca515,
    905                                0x006a54f2, t2, t4, t8);
    906    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t0, $t8, $t0", 0xf63e7a9d,
    907                                0x79f74493, t0, t8, t0);
    908    TESTDSPINST_RD_RS_RT_NODSPC("addqh_r.w $t4, $t6, $t1", 0xbd6845cd,
    909                                0x9c09e313, t4, t6, t1);
    910 
    911    printf("-------- ADDU.PH --------\n");
    912    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
    913                              t0, t1, t2);
    914    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
    915                              t2, t3, t4);
    916    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
    917                              t4, t1, t5);
    918    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
    919                              t6, t7, t3);
    920    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
    921                              t5, t3, t2);
    922    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
    923                              t2, t4, t8);
    924    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    925                              t0, t8, t0);
    926    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
    927                              t4, t6, t1);
    928    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t3, $t4", 0x00000004, 1073741824,
    929                              t2, t3, t4);
    930    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
    931                              t4, t1, t5);
    932    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
    933                              t6, t7, t3);
    934    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
    935                              t5, t3, t2);
    936    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
    937                              t2, t4, t8);
    938    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
    939                              t0, t8, t0);
    940    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
    941                              t4, t6, t1);
    942    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
    943                              t0, t1, t2);
    944    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
    945                              t2, t3, t4);
    946    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
    947                              t4, t1, t5);
    948    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
    949                              t6, t7, t3);
    950    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
    951                              t5, t3, t2);
    952    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
    953                              t2, t4, t8);
    954    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
    955                              t0, t8, t0);
    956    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
    957                              t4, t6, t1);
    958    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
    959                              t0, t1, t2);
    960    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
    961                              t2, t3, t4);
    962    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
    963                              t4, t1, t5);
    964    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
    965                              t6, t7, t3);
    966    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
    967                              t5, t3, t2);
    968    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
    969                              t2, t4, t8);
    970    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
    971                              t0, t8, t0);
    972    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
    973                              t4, t6, t1);
    974    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
    975                              t0, t1, t2);
    976    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
    977                              t2, t3, t4);
    978    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
    979                              t4, t1, t5);
    980    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
    981                              t6, t7, t3);
    982    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
    983                              t5, t3, t2);
    984    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
    985                              t2, t4, t8);
    986    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
    987                              t0, t8, t0);
    988    TESTDSPINST_RD_RS_RT_DSPC("addu.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
    989                              t4, t6, t1);
    990 
    991    printf("-------- ADDU_S.PH --------\n");
    992    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
    993                              t0, t1, t2);
    994    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
    995                              t2, t3, t4);
    996    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
    997                              t4, t1, t5);
    998    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
    999                              t6, t7, t3);
   1000    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   1001                              t5, t3, t2);
   1002    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   1003                              t2, t4, t8);
   1004    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   1005                              t0, t8, t0);
   1006    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   1007                              t4, t6, t1);
   1008    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t3, $t4", 0x00000004, 1073741824,
   1009                              t2, t3, t4);
   1010    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
   1011                              t4, t1, t5);
   1012    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
   1013                              t6, t7, t3);
   1014    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
   1015                              t5, t3, t2);
   1016    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   1017                              t2, t4, t8);
   1018    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   1019                              t0, t8, t0);
   1020    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   1021                              t4, t6, t1);
   1022    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   1023                              t0, t1, t2);
   1024    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   1025                              t2, t3, t4);
   1026    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   1027                              t4, t1, t5);
   1028    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   1029                              t6, t7, t3);
   1030    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   1031                              t5, t3, t2);
   1032    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   1033                              t2, t4, t8);
   1034    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   1035                              t0, t8, t0);
   1036    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   1037                              t4, t6, t1);
   1038    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   1039                              t0, t1, t2);
   1040    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   1041                              t2, t3, t4);
   1042    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   1043                              t4, t1, t5);
   1044    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   1045                              t6, t7, t3);
   1046    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   1047                              t5, t3, t2);
   1048    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   1049                              t2, t4, t8);
   1050    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   1051                              t0, t8, t0);
   1052    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   1053                              t4, t6, t1);
   1054    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   1055                              t0, t1, t2);
   1056    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   1057                              t2, t3, t4);
   1058    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   1059                              t4, t1, t5);
   1060    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   1061                              t6, t7, t3);
   1062    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   1063                              t5, t3, t2);
   1064    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   1065                              t2, t4, t8);
   1066    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   1067                              t0, t8, t0);
   1068    TESTDSPINST_RD_RS_RT_DSPC("addu_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   1069                              t4, t6, t1);
   1070 
   1071    printf("-------- ADDUH.QB --------\n");
   1072    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
   1073                                t0, t1, t2);
   1074    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t3, $t4", 0x00045fb2, 0x00000286,
   1075                                t2, t3, t4);
   1076    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t1, $t5", 0x00002435, 0xffff3421,
   1077                                t4, t1, t5);
   1078    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   1079                                t6, t7, t3);
   1080    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
   1081                                t5, t3, t2);
   1082    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t4, $t8", 0x00010001, 0xffffffff,
   1083                                t2, t4, t8);
   1084    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   1085                                t0, t8, t0);
   1086    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
   1087                                t4, t6, t1);
   1088    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t3, $t4", 0x00000004, 1073741824,
   1089                                t2, t3, t4);
   1090    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t1, $t5", 0x80002435, 0x80003421,
   1091                                t4, t1, t5);
   1092    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t6, $t7, $t3", 0x76548000, 0x73468000,
   1093                                t6, t7, t3);
   1094    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t5, $t3, $t2", 0x80000000, 0x80000000,
   1095                                t5, t3, t2);
   1096    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t4, $t8", 0x00010001, 0xffffffff,
   1097                                t2, t4, t8);
   1098    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   1099                                t0, t8, t0);
   1100    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
   1101                                t4, t6, t1);
   1102    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
   1103                                t0, t1, t2);
   1104    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
   1105                                t2, t3, t4);
   1106    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   1107                                t4, t1, t5);
   1108    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
   1109                                t6, t7, t3);
   1110    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
   1111                                t5, t3, t2);
   1112    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   1113                                t2, t4, t8);
   1114    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   1115                                t0, t8, t0);
   1116    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
   1117                                t4, t6, t1);
   1118    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   1119                                t0, t1, t2);
   1120    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   1121                                t2, t3, t4);
   1122    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   1123                                t4, t1, t5);
   1124    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   1125                                t6, t7, t3);
   1126    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   1127                                t5, t3, t2);
   1128    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   1129                                t2, t4, t8);
   1130    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   1131                                t0, t8, t0);
   1132    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   1133                                t4, t6, t1);
   1134    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   1135                                t0, t1, t2);
   1136    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   1137                                t2, t3, t4);
   1138    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   1139                                t4, t1, t5);
   1140    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   1141                                t6, t7, t3);
   1142    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   1143                                t5, t3, t2);
   1144    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   1145                                t2, t4, t8);
   1146    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   1147                                t0, t8, t0);
   1148    TESTDSPINST_RD_RS_RT_NODSPC("adduh.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   1149                                t4, t6, t1);
   1150 
   1151    printf("-------- ADDUH_R.QB --------\n");
   1152    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t1, $t2", 0x00000000,
   1153                                0x00000000, t0, t1, t2);
   1154    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t3, $t4", 0x00045fb2,
   1155                                0x00000286, t2, t3, t4);
   1156    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t1, $t5", 0x00002435,
   1157                                0xffff3421, t4, t1, t5);
   1158    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t6, $t7, $t3", 0x07654cb8,
   1159                                0x734680bc, t6, t7, t3);
   1160    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t5, $t3, $t2", 0xf973437b,
   1161                                0x80000000, t5, t3, t2);
   1162    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t4, $t8", 0x00010001,
   1163                                0xffffffff, t2, t4, t8);
   1164    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t8, $t0", 0x7fff7fff,
   1165                                0x7fff7fff, t0, t8, t0);
   1166    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t6, $t1", 0x0000c420,
   1167                                0x00000555, t4, t6, t1);
   1168    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t3, $t4", 0x00000004,
   1169                                1073741824, t2, t3, t4);
   1170    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t1, $t5", 0x80002435,
   1171                                0x80003421, t4, t1, t5);
   1172    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t6, $t7, $t3", 0x76548000,
   1173                                0x73468000, t6, t7, t3);
   1174    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t5, $t3, $t2", 0x80000000,
   1175                                0x80000000, t5, t3, t2);
   1176    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t4, $t8", 0x00010001,
   1177                                0xffffffff, t2, t4, t8);
   1178    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t8, $t0", 0x7fff7fff,
   1179                                0x7fff7fff, t0, t8, t0);
   1180    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t6, $t1", 0x0000c420,
   1181                                0x00000555, t4, t6, t1);
   1182    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t1, $t2", 0x00000000,
   1183                                0x00000000, t0, t1, t2);
   1184    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t3, $t4", 0x80000000,
   1185                                0x80000000, t2, t3, t4);
   1186    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t1, $t5", 0xaaaaaaaa,
   1187                                0x55555555, t4, t1, t5);
   1188    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t6, $t7, $t3", 0x00000018,
   1189                                0xffff2435, t6, t7, t3);
   1190    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t5, $t3, $t2", 0xbabababa,
   1191                                0xabababab, t5, t3, t2);
   1192    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t4, $t8", 0xf0f0f0f0,
   1193                                0xfc79b4d2, t2, t4, t8);
   1194    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t8, $t0", 0xfbde3976,
   1195                                0x00000000, t0, t8, t0);
   1196    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t6, $t1", 0x23534870,
   1197                                0x00354565, t4, t6, t1);
   1198    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t1, $t2", 0x980b7cde,
   1199                                0x00086755, t0, t1, t2);
   1200    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t3, $t4", 0x00000018,
   1201                                0x8f8f8f8f, t2, t3, t4);
   1202    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t1, $t5", 0x92784656,
   1203                                0xeeeeeeee, t4, t1, t5);
   1204    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t6, $t7, $t3", 0xcacacaca,
   1205                                0x1bdbdbdb, t6, t7, t3);
   1206    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t5, $t3, $t2", 0xbacabaca,
   1207                                0xdecadeca, t5, t3, t2);
   1208    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t4, $t8", 0x12fadeb4,
   1209                                0x93474bde, t2, t4, t8);
   1210    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t8, $t0", 0x7c000790,
   1211                                0xfc0007ff, t0, t8, t0);
   1212    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t6, $t1", 0xffffffff,
   1213                                0xffffffff, t4, t6, t1);
   1214    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t1, $t2", 0xf2f4df1f,
   1215                                0xcb4ab48f, t0, t1, t2);
   1216    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t3, $t4", 0x435f909a,
   1217                                0xaf8f7e18, t2, t3, t4);
   1218    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t1, $t5", 0x2106ba5f,
   1219                                0x87df4510, t4, t1, t5);
   1220    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t6, $t7, $t3", 0x246a6376,
   1221                                0xabf4e8e1, t6, t7, t3);
   1222    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t5, $t3, $t2", 0x1046a1a3,
   1223                                0xf4c0eeac, t5, t3, t2);
   1224    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t2, $t4, $t8", 0x638ca515,
   1225                                0x006a54f2, t2, t4, t8);
   1226    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t0, $t8, $t0", 0xf63e7a9d,
   1227                                0x79f74493, t0, t8, t0);
   1228    TESTDSPINST_RD_RS_RT_NODSPC("adduh_r.qb $t4, $t6, $t1", 0xbd6845cd,
   1229                                0x9c09e313, t4, t6, t1);
   1230 
   1231    printf("-------- APPEND --------\n");
   1232    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t1,  0", 0x00000000, 0x0fffffff,
   1233                                0, t0, t1);
   1234    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t3,  1", 0x00045fb2, 0x00000286,
   1235                                1, t2, t3);
   1236    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t1,  4", 0xfabc2435, 0x0ffb3421,
   1237                                4, t4, t1);
   1238    TESTDSPINST_RT_RS_SA_NODSPC("append $t6, $t7, 17", 0x07654cb8, 0x734680bc,
   1239                                17, t6, t7);
   1240    TESTDSPINST_RT_RS_SA_NODSPC("append $t5, $t3, 31", 0xf973437b, 0x80000000,
   1241                                31, t5, t3);
   1242    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t4,  8", 0x00010001, 0xffffffff,
   1243                                8, t2, t4);
   1244    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t8, 11", 0x7fff7fff, 0x7fff7fff,
   1245                                11, t0, t8);
   1246    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t6, 13", 0x0000c420, 0x00000555,
   1247                                13, t4, t6);
   1248    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t1,  2", 0x00000000, 0x00000000,
   1249                                2, t0, t1);
   1250    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t3,  6", 0x80000000, 0x80000000,
   1251                                6, t2, t3);
   1252    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t1,  7", 0xaaaaaaaa, 0x55555555,
   1253                                7, t4, t1);
   1254    TESTDSPINST_RT_RS_SA_NODSPC("append $t6, $t7, 19", 0x00000018, 0xffff2435,
   1255                                19, t6, t7);
   1256    TESTDSPINST_RT_RS_SA_NODSPC("append $t5, $t3, 31", 0xbabababa, 0xabababab,
   1257                                31, t5, t3);
   1258    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t4,  4", 0xf0f0f0f0, 0xfc79b4d2,
   1259                                4, t2, t4);
   1260    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t8, 12", 0xfbde3976, 0x00000000,
   1261                                12, t0, t8);
   1262    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t6, 10", 0x23534870, 0x00354565,
   1263                                10, t4, t6);
   1264    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t1, 20", 0x980b7cde, 0x00086755,
   1265                                20, t0, t1);
   1266    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t3, 21", 0x00000018, 0x8f8f8f8f,
   1267                                21, t2, t3);
   1268    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t1, 24", 0x92784656, 0xeeeeeeee,
   1269                                24, t4, t1);
   1270    TESTDSPINST_RT_RS_SA_NODSPC("append $t6, $t7, 27", 0xcacacaca, 0x1bdbdbdb,
   1271                                27, t6, t7);
   1272    TESTDSPINST_RT_RS_SA_NODSPC("append $t5, $t3,  1", 0xbacabaca, 0xdecadeca,
   1273                                1, t5, t3);
   1274    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t4, 18", 0x12fadeb4, 0x93474bde,
   1275                                18, t2, t4);
   1276    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t8, 10", 0x7c000790, 0xfc0007ff,
   1277                                10, t0, t8);
   1278    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t6, 16", 0xffffffff, 0xffffffff,
   1279                                16, t4, t6);
   1280    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t1,  0", 0xf2f4df1f, 0xcb4ab48f,
   1281                                0, t0, t1);
   1282    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t3, 14", 0x435f909a, 0xaf8f7e18,
   1283                                14, t2, t3);
   1284    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t1,  5", 0x2106ba5f, 0x87df4510,
   1285                                5, t4, t1);
   1286    TESTDSPINST_RT_RS_SA_NODSPC("append $t6, $t7,  7", 0x246a6376, 0xabf4e8e1,
   1287                                7, t6, t7);
   1288    TESTDSPINST_RT_RS_SA_NODSPC("append $t5, $t3,  9", 0x1046a1a3, 0xf4c0eeac,
   1289                                9, t5, t3);
   1290    TESTDSPINST_RT_RS_SA_NODSPC("append $t2, $t4,  3", 0x638ca515, 0x006a54f2,
   1291                                3, t2, t4);
   1292    TESTDSPINST_RT_RS_SA_NODSPC("append $t0, $t8, 15", 0xf63e7a9d, 0x79f74493,
   1293                                15, t0, t8);
   1294    TESTDSPINST_RT_RS_SA_NODSPC("append $t4, $t6, 11", 0xbd6845cd, 0x9c09e313,
   1295                                1, t4, t6);
   1296 
   1297    printf("-------- BALIGN --------\n");
   1298    TESTDSPINST_RT_RS_SA_NODSPC("balign $t0, $t1,  0", 0x00000000, 0x0fffffff, 0,
   1299                                t0, t1);
   1300    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t3,  1", 0x00045fb2, 0x00000286, 1,
   1301                                t2, t3);
   1302    TESTDSPINST_RT_RS_SA_NODSPC("balign $t6, $t7,  3", 0x07654cb8, 0x734680bc, 3,
   1303                                t6, t7);
   1304    TESTDSPINST_RT_RS_SA_NODSPC("balign $t5, $t3,  0", 0xf973437b, 0x80000000, 0,
   1305                                t5, t3);
   1306    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t4,  1", 0x00010001, 0xffffffff, 1,
   1307                                t2, t4);
   1308    TESTDSPINST_RT_RS_SA_NODSPC("balign $t4, $t6,  3", 0x0000c420, 0x00000555, 3,
   1309                                t4, t6);
   1310    TESTDSPINST_RT_RS_SA_NODSPC("balign $t0, $t1,  0", 0x00000000, 0x00000000, 0,
   1311                                t0, t1);
   1312    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t3,  1", 0x80000000, 0x80000000, 1,
   1313                                t2, t3);
   1314    TESTDSPINST_RT_RS_SA_NODSPC("balign $t6, $t7,  3", 0x00000018, 0xffff2435, 3,
   1315                                t6, t7);
   1316    TESTDSPINST_RT_RS_SA_NODSPC("balign $t5, $t3,  0", 0xbabababa, 0xabababab, 0,
   1317                                t5, t3);
   1318    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t4,  1", 0xf0f0f0f0, 0xfc79b4d2, 1,
   1319                                t2, t4);
   1320    TESTDSPINST_RT_RS_SA_NODSPC("balign $t4, $t6,  3", 0x23534870, 0x00354565, 3,
   1321                                t4, t6);
   1322    TESTDSPINST_RT_RS_SA_NODSPC("balign $t0, $t1,  0", 0x980b7cde, 0x00086755, 0,
   1323                                t0, t1);
   1324    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t3,  1", 0x00000018, 0x8f8f8f8f, 1,
   1325                                t2, t3);
   1326    TESTDSPINST_RT_RS_SA_NODSPC("balign $t6, $t7,  3", 0xcacacaca, 0x1bdbdbdb, 3,
   1327                                t6, t7);
   1328    TESTDSPINST_RT_RS_SA_NODSPC("balign $t5, $t3,  0", 0xbacabaca, 0xdecadeca, 0,
   1329                                t5, t3);
   1330    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t4,  1", 0x12fadeb4, 0x93474bde, 1,
   1331                                t2, t4);
   1332    TESTDSPINST_RT_RS_SA_NODSPC("balign $t4, $t6,  3", 0xffffffff, 0xffffffff, 3,
   1333                                t4, t6);
   1334    TESTDSPINST_RT_RS_SA_NODSPC("balign $t0, $t1,  0", 0xf2f4df1f, 0xcb4ab48f, 0,
   1335                                t0, t1);
   1336    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t3,  1", 0x435f909a, 0xaf8f7e18, 1,
   1337                                t2, t3);
   1338    TESTDSPINST_RT_RS_SA_NODSPC("balign $t6, $t7,  3", 0x246a6376, 0xabf4e8e1, 3,
   1339                                t6, t7);
   1340    TESTDSPINST_RT_RS_SA_NODSPC("balign $t5, $t3,  0", 0x1046a1a3, 0xf4c0eeac, 0,
   1341                                t5, t3);
   1342    TESTDSPINST_RT_RS_SA_NODSPC("balign $t2, $t4,  1", 0x638ca515, 0x006a54f2, 1,
   1343                                t2, t4);
   1344    TESTDSPINST_RT_RS_SA_NODSPC("balign $t4, $t6,  3", 0xbd6845cd, 0x9c09e313, 3,
   1345                                t4, t6);
   1346 
   1347    printf("-------- CMPGDU.EQ.QB --------\n");
   1348    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t1, $t2", 0x00000000,
   1349                              0x00000000, t0, t1, t2);
   1350    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t3, $t4", 0x00045fb2,
   1351                              0x00000286, t2, t3, t4);
   1352    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t1, $t5", 0x00002435,
   1353                              0xffff3421, t4, t1, t5);
   1354    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t6, $t7, $t3", 0x07654cb8,
   1355                              0x734680bc, t6, t7, t3);
   1356    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t5, $t3, $t2", 0xf973437b,
   1357                              0x80000000, t5, t3, t2);
   1358    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t4, $t8", 0x00010001,
   1359                              0xffffffff, t2, t4, t8);
   1360    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t8, $t0", 0x7fff7fff,
   1361                              0x7fff7fff, t0, t8, t0);
   1362    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t6, $t1", 0x0000c420,
   1363                              0x00000555, t4, t6, t1);
   1364    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t3, $t4", 0x00000004,
   1365                              1073741824, t2, t3, t4);
   1366    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t1, $t5", 0x80002435,
   1367                              0x80003421, t4, t1, t5);
   1368    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t6, $t7, $t3", 0x76548000,
   1369                              0x73468000, t6, t7, t3);
   1370    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t5, $t3, $t2", 0x80000000,
   1371                              0x80000000, t5, t3, t2);
   1372    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t4, $t8", 0x00010001,
   1373                              0xffffffff, t2, t4, t8);
   1374    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t8, $t0", 0x7fff7fff,
   1375                              0x7fff7fff, t0, t8, t0);
   1376    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t6, $t1", 0x0000c420,
   1377                              0x00000555, t4, t6, t1);
   1378    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t1, $t2", 0x00000000,
   1379                              0x00000000, t0, t1, t2);
   1380    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t3, $t4", 0x80000000,
   1381                              0x80000000, t2, t3, t4);
   1382    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t1, $t5", 0xaaaaaaaa,
   1383                              0x55555555, t4, t1, t5);
   1384    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t6, $t7, $t3", 0x00000018,
   1385                              0xffff2435, t6, t7, t3);
   1386    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t5, $t3, $t2", 0xbabababa,
   1387                              0xabababab, t5, t3, t2);
   1388    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t4, $t8", 0xf0f0f0f0,
   1389                              0xfc79b4d2, t2, t4, t8);
   1390    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t8, $t0", 0xfbde3976,
   1391                              0x00000000, t0, t8, t0);
   1392    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t6, $t1", 0x23534870,
   1393                              0x00354565, t4, t6, t1);
   1394    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t1, $t2", 0x980b7cde,
   1395                              0x00086755, t0, t1, t2);
   1396    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t3, $t4", 0x00000018,
   1397                              0x8f8f8f8f, t2, t3, t4);
   1398    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t1, $t5", 0x92784656,
   1399                              0xeeeeeeee, t4, t1, t5);
   1400    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t6, $t7, $t3", 0xcacacaca,
   1401                              0x1bdbdbdb, t6, t7, t3);
   1402    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t5, $t3, $t2", 0xbacabaca,
   1403                              0xdecadeca, t5, t3, t2);
   1404    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t4, $t8", 0x12fadeb4,
   1405                              0x93474bde, t2, t4, t8);
   1406    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t8, $t0", 0x7c000790,
   1407                              0xfc0007ff, t0, t8, t0);
   1408    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t6, $t1", 0xffffffff,
   1409                              0xffffffff, t4, t6, t1);
   1410    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t1, $t2", 0xf2f4df1f,
   1411                              0xcb4ab48f, t0, t1, t2);
   1412    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t3, $t4", 0x435f909a,
   1413                              0xaf8f7e18, t2, t3, t4);
   1414    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t1, $t5", 0x2106ba5f,
   1415                              0x87df4510, t4, t1, t5);
   1416    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t6, $t7, $t3", 0x246a6376,
   1417                              0xabf4e8e1, t6, t7, t3);
   1418    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t5, $t3, $t2", 0x1046a1a3,
   1419                              0xf4c0eeac, t5, t3, t2);
   1420    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t2, $t4, $t8", 0x638ca515,
   1421                              0x006a54f2, t2, t4, t8);
   1422    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t0, $t8, $t0", 0xf63e7a9d,
   1423                              0x79f74493, t0, t8, t0);
   1424    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.eq.qb $t4, $t6, $t1", 0xbd6845cd,
   1425                              0x9c09e313, t4, t6, t1);
   1426 
   1427    printf("-------- CMPGDU.LT.QB --------\n");
   1428    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t1, $t2", 0x00000000,
   1429                              0x00000000, t0, t1, t2);
   1430    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t3, $t4", 0x00045fb2,
   1431                              0x00000286, t2, t3, t4);
   1432    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t1, $t5", 0x00002435,
   1433                              0xffff3421, t4, t1, t5);
   1434    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t6, $t7, $t3", 0x07654cb8,
   1435                              0x734680bc, t6, t7, t3);
   1436    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t5, $t3, $t2", 0xf973437b,
   1437                              0x80000000, t5, t3, t2);
   1438    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t4, $t8", 0x00010001,
   1439                              0xffffffff, t2, t4, t8);
   1440    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t8, $t0", 0x7fff7fff,
   1441                              0x7fff7fff, t0, t8, t0);
   1442    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t6, $t1", 0x0000c420,
   1443                              0x00000555, t4, t6, t1);
   1444    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t3, $t4", 0x00000004,
   1445                              1073741824, t2, t3, t4);
   1446    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t1, $t5", 0x80002435,
   1447                              0x80003421, t4, t1, t5);
   1448    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t6, $t7, $t3", 0x76548000,
   1449                              0x73468000, t6, t7, t3);
   1450    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t5, $t3, $t2", 0x80000000,
   1451                              0x80000000, t5, t3, t2);
   1452    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t4, $t8", 0x00010001,
   1453                              0xffffffff, t2, t4, t8);
   1454    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t8, $t0", 0x7fff7fff,
   1455                              0x7fff7fff, t0, t8, t0);
   1456    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t6, $t1", 0x0000c420,
   1457                              0x00000555, t4, t6, t1);
   1458    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t1, $t2", 0x00000000,
   1459                              0x00000000, t0, t1, t2);
   1460    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t3, $t4", 0x80000000,
   1461                              0x80000000, t2, t3, t4);
   1462    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t1, $t5", 0xaaaaaaaa,
   1463                              0x55555555, t4, t1, t5);
   1464    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t6, $t7, $t3", 0x00000018,
   1465                              0xffff2435, t6, t7, t3);
   1466    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t5, $t3, $t2", 0xbabababa,
   1467                              0xabababab, t5, t3, t2);
   1468    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t4, $t8", 0xf0f0f0f0,
   1469                              0xfc79b4d2, t2, t4, t8);
   1470    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t8, $t0", 0xfbde3976,
   1471                              0x00000000, t0, t8, t0);
   1472    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t6, $t1", 0x23534870,
   1473                              0x00354565, t4, t6, t1);
   1474    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t1, $t2", 0x980b7cde,
   1475                              0x00086755, t0, t1, t2);
   1476    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t3, $t4", 0x00000018,
   1477                              0x8f8f8f8f, t2, t3, t4);
   1478    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t1, $t5", 0x92784656,
   1479                              0xeeeeeeee, t4, t1, t5);
   1480    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t6, $t7, $t3", 0xcacacaca,
   1481                              0x1bdbdbdb, t6, t7, t3);
   1482    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t5, $t3, $t2", 0xbacabaca,
   1483                              0xdecadeca, t5, t3, t2);
   1484    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t4, $t8", 0x12fadeb4,
   1485                              0x93474bde, t2, t4, t8);
   1486    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t8, $t0", 0x7c000790,
   1487                              0xfc0007ff, t0, t8, t0);
   1488    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t6, $t1", 0xffffffff,
   1489                              0xffffffff, t4, t6, t1);
   1490    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t1, $t2", 0xf2f4df1f,
   1491                              0xcb4ab48f, t0, t1, t2);
   1492    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t3, $t4", 0x435f909a,
   1493                              0xaf8f7e18, t2, t3, t4);
   1494    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t1, $t5", 0x2106ba5f,
   1495                              0x87df4510, t4, t1, t5);
   1496    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t6, $t7, $t3", 0x246a6376,
   1497                              0xabf4e8e1, t6, t7, t3);
   1498    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t5, $t3, $t2", 0x1046a1a3,
   1499                              0xf4c0eeac, t5, t3, t2);
   1500    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t2, $t4, $t8", 0x638ca515,
   1501                              0x006a54f2, t2, t4, t8);
   1502    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t0, $t8, $t0", 0xf63e7a9d,
   1503                              0x79f74493, t0, t8, t0);
   1504    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.lt.qb $t4, $t6, $t1", 0xbd6845cd,
   1505                              0x9c09e313, t4, t6, t1);
   1506 
   1507    printf("-------- CMPGDU.LE.QB --------\n");
   1508    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t1, $t2", 0x00000000,
   1509                              0x00000000, t0, t1, t2);
   1510    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t3, $t4", 0x00045fb2,
   1511                              0x00000286, t2, t3, t4);
   1512    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t1, $t5", 0x00002435,
   1513                              0xffff3421, t4, t1, t5);
   1514    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t6, $t7, $t3", 0x07654cb8,
   1515                              0x734680bc, t6, t7, t3);
   1516    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t5, $t3, $t2", 0xf973437b,
   1517                              0x80000000, t5, t3, t2);
   1518    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t4, $t8", 0x00010001,
   1519                              0xffffffff, t2, t4, t8);
   1520    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t8, $t0", 0x7fff7fff,
   1521                              0x7fff7fff, t0, t8, t0);
   1522    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t6, $t1", 0x0000c420,
   1523                              0x00000555, t4, t6, t1);
   1524    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t3, $t4", 0x00000004,
   1525                              1073741824, t2, t3, t4);
   1526    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t1, $t5", 0x80002435,
   1527                              0x80003421, t4, t1, t5);
   1528    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t6, $t7, $t3", 0x76548000,
   1529                              0x73468000, t6, t7, t3);
   1530    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t5, $t3, $t2", 0x80000000,
   1531                              0x80000000, t5, t3, t2);
   1532    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t4, $t8", 0x00010001,
   1533                              0xffffffff, t2, t4, t8);
   1534    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t8, $t0", 0x7fff7fff,
   1535                              0x7fff7fff, t0, t8, t0);
   1536    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t6, $t1", 0x0000c420,
   1537                              0x00000555, t4, t6, t1);
   1538    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t1, $t2", 0x00000000,
   1539                              0x00000000, t0, t1, t2);
   1540    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t3, $t4", 0x80000000,
   1541                              0x80000000, t2, t3, t4);
   1542    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t1, $t5", 0xaaaaaaaa,
   1543                              0x55555555, t4, t1, t5);
   1544    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t6, $t7, $t3", 0x00000018,
   1545                              0xffff2435, t6, t7, t3);
   1546    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t5, $t3, $t2", 0xbabababa,
   1547                              0xabababab, t5, t3, t2);
   1548    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t4, $t8", 0xf0f0f0f0,
   1549                              0xfc79b4d2, t2, t4, t8);
   1550    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t8, $t0", 0xfbde3976,
   1551                              0x00000000, t0, t8, t0);
   1552    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t6, $t1", 0x23534870,
   1553                              0x00354565, t4, t6, t1);
   1554    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t1, $t2", 0x980b7cde,
   1555                              0x00086755, t0, t1, t2);
   1556    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t3, $t4", 0x00000018,
   1557                              0x8f8f8f8f, t2, t3, t4);
   1558    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t1, $t5", 0x92784656,
   1559                              0xeeeeeeee, t4, t1, t5);
   1560    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t6, $t7, $t3", 0xcacacaca,
   1561                              0x1bdbdbdb, t6, t7, t3);
   1562    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t5, $t3, $t2", 0xbacabaca,
   1563                              0xdecadeca, t5, t3, t2);
   1564    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t4, $t8", 0x12fadeb4,
   1565                              0x93474bde, t2, t4, t8);
   1566    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t8, $t0", 0x7c000790,
   1567                              0xfc0007ff, t0, t8, t0);
   1568    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t6, $t1", 0xffffffff,
   1569                              0xffffffff, t4, t6, t1);
   1570    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t1, $t2", 0xf2f4df1f,
   1571                              0xcb4ab48f, t0, t1, t2);
   1572    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t3, $t4", 0x435f909a,
   1573                              0xaf8f7e18, t2, t3, t4);
   1574    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t1, $t5", 0x2106ba5f,
   1575                              0x87df4510, t4, t1, t5);
   1576    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t6, $t7, $t3", 0x246a6376,
   1577                              0xabf4e8e1, t6, t7, t3);
   1578    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t5, $t3, $t2", 0x1046a1a3,
   1579                              0xf4c0eeac, t5, t3, t2);
   1580    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t2, $t4, $t8", 0x638ca515,
   1581                              0x006a54f2, t2, t4, t8);
   1582    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t0, $t8, $t0", 0xf63e7a9d,
   1583                              0x79f74493, t0, t8, t0);
   1584    TESTDSPINST_RD_RS_RT_DSPC("cmpgdu.le.qb $t4, $t6, $t1", 0xbd6845cd,
   1585                              0x9c09e313, t4, t6, t1);
   1586 
   1587    printf("-------- DPA.W.PH --------\n");
   1588    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   1589                                0x4387ffff);
   1590    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x00000000, 0x00000004,
   1591                                0x00000005);
   1592    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xffffffff, 0x80000000,
   1593                                0x80000000);
   1594    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xeeeeffff, 0x00002345, 0x3277ffff,
   1595                                0x4387ffff);
   1596    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1597                                0x4387ffff);
   1598    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x00000000, 0x80000000,
   1599                                0x80000000);
   1600    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x80008000, 0x80000000,
   1601                                0x80000000);
   1602    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x00000000, 0x80000004,
   1603                                0x00000005);
   1604    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xffffffff, 0x80008000,
   1605                                0x4387ffff);
   1606    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xeeeeffff, 0x00002345, 0x80008000,
   1607                                0x80008000);
   1608    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1609                                0x4387ffff);
   1610    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x00000000, 0x80008000,
   1611                                0x80008000);
   1612    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   1613                                0x4387ffff);
   1614    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x80000000, 0xffff0000, 0x3277eeee,
   1615                                0x80008000);
   1616    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x00000000, 0x80000000,
   1617                                0x80000000);
   1618    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   1619                                0x4387ffff);
   1620    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x0000ffff, 0x80008000,
   1621                                0x4387ffff);
   1622    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffff1234, 0x00000000, 0xffff3277,
   1623                                0x4387ffff);
   1624    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x5678ffff, 0x3277ffff, 0x80000000,
   1625                                0x80000000);
   1626    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x00000000, 0xffff3277,
   1627                                0xffff6543);
   1628    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xffffffff, 0xffffffff,
   1629                                0xffffffff);
   1630    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffbbbb, 0xeeee0000, 0x80008000,
   1631                                0x4387ffff);
   1632    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x34560000, 0x3277ffff,
   1633                                0x4387cccc);
   1634    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   1635                                0x4387ffff);
   1636    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x12345678, 0xffffffff, 0xffffffff,
   1637                                0xffffffff);
   1638    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffbbbb, 0x12345678, 0x80008000,
   1639                                0x4387ffff);
   1640    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x34560000, 0x87654321,
   1641                                0x80008000);
   1642    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   1643                                0x80000000);
   1644    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1645                                0x4387ffff);
   1646    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x80000000, 0x00000000, 0x80008000,
   1647                                0x80008000);
   1648    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x80008000, 0x3277ffff,
   1649                                0x4387ffff);
   1650    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   1651                                0x4387ffff);
   1652    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", -24, 120, -24, 120);
   1653    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 140, 120, 140, 120);
   1654    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000004, 1073741824, 0x00000004,
   1655                                1073741824);
   1656    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", (1<<31)+1, (1<<31)+2, (1<<31)+1,
   1657                                (1<<31)+2);
   1658    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x80002431, 0x4b908000, 0x80002431,
   1659                                0x4b908000);
   1660    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x004d8000, 0x800027cc, 0x004d8000,
   1661                                0x800027cc);
   1662    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xf6a3fa3c, 0x083b3571, 0xf6a3fa3c,
   1663                                0x083b3571);
   1664    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xbf17fb9a, 0xb9743941, 0xbf17fb9a,
   1665                                0xb9743941);
   1666    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x2c0bd024, 0xbce5f924, 0x2c0bd024,
   1667                                0xbce5f924);
   1668    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x3e976e2e, 0xcc3c201c, 0x3e976e2e,
   1669                                0xcc3c201c);
   1670    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xb4bfb365, 0x1ebaf88e, 0xb4bfb365,
   1671                                0x1ebaf88e);
   1672    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x288593c0, 0x722d5e20, 0x288593c0,
   1673                                0x722d5e20);
   1674    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x4d7ff5b4, 0xa1d6f791, 0x4d7ff5b4,
   1675                                0xa1d6f791);
   1676    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x4557be13, 0x7b11bee7, 0x4557be13,
   1677                                0x7b11bee7);
   1678    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xadcf5772, 0xa5631488, 0xadcf5772,
   1679                                0xa5631488);
   1680    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x989a7235, 0xb10bcc65, 0x989a7235,
   1681                                0xb10bcc65);
   1682    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x4d6f393a, 0x73f39fca, 0x4d6f393a,
   1683                                0x73f39fca);
   1684    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x24a3291e, 0x5648e540, 0x24a3291e,
   1685                                0x5648e540);
   1686    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xdd91eebf, 0xc54f79e6, 0xdd91eebf,
   1687                                0xc54f79e6);
   1688    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xf7ce2ec6, 0x5fc92974, 0xf7ce2ec6,
   1689                                0x5fc92974);
   1690    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xbc1083e8, 0x7e08184e, 0xbc1083e8,
   1691                                0x7e08184e);
   1692    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xa617cc31, 0x71c8315f, 0xa617cc31,
   1693                                0x71c8315f);
   1694    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xdfe1e8f0, 0x9493110e, 0xdfe1e8f0,
   1695                                0x9493110e);
   1696    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x31458a23, 0xbb246228, 0x31458a23,
   1697                                0xbb246228);
   1698    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x848af791, 0x339d8d88, 0x848af791,
   1699                                0x339d8d88);
   1700    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xda3bacdc, 0x70974249, 0xda3bacdc,
   1701                                0x70974249);
   1702    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x649d5cbd, 0x8a8d4e7d, 0x649d5cbd,
   1703                                0x8a8d4e7d);
   1704    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xc0c8c881, 0xeb1b4335, 0xc0c8c881,
   1705                                0xeb1b4335);
   1706    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x7dd81a20, 0x0cd6b508, 0x7dd81a20,
   1707                                0x0cd6b508);
   1708    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x6731e282, 0x00000000,
   1709                                0x6731e282);
   1710    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xb6edf28f, 0xffffffff,
   1711                                0xb6edf28f);
   1712    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x4b4ec9ca, 0x00000000,
   1713                                0x4b4ec9ca);
   1714    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xc1037fa4, 0xffffffff,
   1715                                0xc1037fa4);
   1716    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xcb4ab48f, 0xffffffff,
   1717                                0xcb4ab48f);
   1718    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xaf8f7e18, 0xffffffff,
   1719                                0xaf8f7e18);
   1720    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x87df4510, 0xffffffff,
   1721                                0x87df4510);
   1722    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xabf4e8e1, 0xffffffff,
   1723                                0xabf4e8e1);
   1724    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0xf4c0eeac, 0xffffffff,
   1725                                0xf4c0eeac);
   1726    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x006a54f2, 0x00000000,
   1727                                0x006a54f2);
   1728    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0x00000000, 0x79f74493, 0x00000000,
   1729                                0x79f74493);
   1730    TESTDSPINST_AC_RS_RT_NODSPC("dpa.w.ph", 0xffffffff, 0x9c09e313, 0xffffffff,
   1731                                0x9c09e313);
   1732 
   1733    printf("-------- DPAQX_S.W.PH -------- \n");
   1734    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
   1735                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
   1736    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
   1737                              1073741824, 0x00000000, 0x00000006, t0, t1);
   1738    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
   1739                              0x80003421, 0x00000000, 1073741824, t2, t3);
   1740    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
   1741                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
   1742    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
   1743                              0x80000000, 0x00000000, 0x00000001, t5, t3);
   1744    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
   1745                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
   1746    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
   1747                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
   1748    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
   1749                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
   1750    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
   1751                              0x00000000, 0x00000000, 0x55555555, t2, t3);
   1752    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
   1753                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
   1754    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
   1755                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
   1756    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
   1757                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
   1758    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
   1759                              0xabababab, 0x00000000, 0x00000000, t2, t4);
   1760    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
   1761                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
   1762    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
   1763                              0x00000000, 0x00000000, 0x12349876, t4, t5);
   1764    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
   1765                              0x00354565, 0x00000000, 0x00354565, t0, t1);
   1766    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
   1767                              0x00086755, 0x00000000, 0x00086755, t2, t3);
   1768    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
   1769                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
   1770    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
   1771                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
   1772    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
   1773                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
   1774    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
   1775                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
   1776    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
   1777                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
   1778    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
   1779                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
   1780    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
   1781                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
   1782    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
   1783                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
   1784    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
   1785                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
   1786    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
   1787                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
   1788    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
   1789                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
   1790    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
   1791                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
   1792    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
   1793                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
   1794    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
   1795                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
   1796    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
   1797                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
   1798    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
   1799                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
   1800    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
   1801                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
   1802    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
   1803                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
   1804    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
   1805                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
   1806    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
   1807                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
   1808    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
   1809                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
   1810    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
   1811                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
   1812    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
   1813                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
   1814    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
   1815                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
   1816    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
   1817                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
   1818    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
   1819                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
   1820    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
   1821                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
   1822    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
   1823                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
   1824    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
   1825                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
   1826    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
   1827                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
   1828    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
   1829                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
   1830 
   1831    printf("-------- DPAQX_SA.W.PH -------- \n");
   1832    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
   1833                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
   1834    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
   1835                              1073741824, 0x00000000, 0x00000006, t0, t1);
   1836    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
   1837                              0x80003421, 0x00000000, 1073741824, t2, t3);
   1838    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
   1839                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
   1840    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
   1841                              0x80000000, 0x00000000, 0x00000001, t5, t3);
   1842    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
   1843                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
   1844    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
   1845                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
   1846    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
   1847                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
   1848    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
   1849                              0x00000000, 0x00000000, 0x55555555, t2, t3);
   1850    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
   1851                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
   1852    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
   1853                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
   1854    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
   1855                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
   1856    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
   1857                              0xabababab, 0x00000000, 0x00000000, t2, t4);
   1858    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
   1859                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
   1860    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
   1861                              0x00000000, 0x00000000, 0x12349876, t4, t5);
   1862    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
   1863                              0x00354565, 0x00000000, 0x00354565, t0, t1);
   1864    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
   1865                              0x00086755, 0x00000000, 0x00086755, t2, t3);
   1866    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
   1867                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
   1868    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
   1869                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
   1870    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
   1871                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
   1872    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
   1873                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
   1874    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
   1875                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
   1876    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
   1877                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
   1878    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
   1879                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
   1880    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
   1881                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
   1882    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
   1883                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
   1884    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
   1885                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
   1886    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
   1887                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
   1888    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
   1889                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
   1890    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
   1891                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
   1892    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
   1893                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
   1894    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
   1895                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
   1896    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
   1897                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
   1898    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
   1899                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
   1900    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
   1901                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
   1902    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
   1903                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
   1904    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
   1905                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
   1906    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
   1907                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
   1908    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
   1909                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
   1910    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
   1911                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
   1912    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
   1913                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
   1914    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
   1915                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
   1916    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
   1917                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
   1918    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
   1919                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
   1920    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
   1921                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
   1922    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
   1923                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
   1924    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
   1925                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
   1926    TESTDSPINST_AC_RS_RT_DSPC("dpaqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
   1927                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
   1928 
   1929    printf("-------- DPAX.W.PH --------\n");
   1930    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   1931                                0x4387ffff);
   1932    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x00000000, 0x00000004,
   1933                                0x00000005);
   1934    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xffffffff, 0x80000000,
   1935                                0x80000000);
   1936    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xeeeeffff, 0x00002345, 0x3277ffff,
   1937                                0x4387ffff);
   1938    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1939                                0x4387ffff);
   1940    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x00000000, 0x80000000,
   1941                                0x80000000);
   1942    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x80008000, 0x80000000,
   1943                                0x80000000);
   1944    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x00000000, 0x80000004,
   1945                                0x00000005);
   1946    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xffffffff, 0x80008000,
   1947                                0x4387ffff);
   1948    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xeeeeffff, 0x00002345, 0x80008000,
   1949                                0x80008000);
   1950    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1951                                0x4387ffff);
   1952    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x00000000, 0x80008000,
   1953                                0x80008000);
   1954    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   1955                                0x4387ffff);
   1956    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x80000000, 0xffff0000, 0x3277eeee,
   1957                                0x80008000);
   1958    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x00000000, 0x80000000,
   1959                                0x80000000);
   1960    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   1961                                0x4387ffff);
   1962    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x0000ffff, 0x80008000,
   1963                                0x4387ffff);
   1964    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffff1234, 0x00000000, 0xffff3277,
   1965                                0x4387ffff);
   1966    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x5678ffff, 0x3277ffff, 0x80000000,
   1967                                0x80000000);
   1968    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x00000000, 0xffff3277,
   1969                                0xffff6543);
   1970    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xffffffff, 0xffffffff,
   1971                                0xffffffff);
   1972    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffbbbb, 0xeeee0000, 0x80008000,
   1973                                0x4387ffff);
   1974    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x34560000, 0x3277ffff,
   1975                                0x4387cccc);
   1976    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   1977                                0x4387ffff);
   1978    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x12345678, 0xffffffff, 0xffffffff,
   1979                                0xffffffff);
   1980    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffbbbb, 0x12345678, 0x80008000,
   1981                                0x4387ffff);
   1982    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x34560000, 0x87654321,
   1983                                0x80008000);
   1984    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   1985                                0x80000000);
   1986    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   1987                                0x4387ffff);
   1988    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x80000000, 0x00000000, 0x80008000,
   1989                                0x80008000);
   1990    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x80008000, 0x3277ffff,
   1991                                0x4387ffff);
   1992    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   1993                                0x4387ffff);
   1994    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", -24, 120, -24, 120);
   1995    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 140, 120, 140, 120);
   1996    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000004, 1073741824, 0x00000004,
   1997                                1073741824);
   1998    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", (1<<31)+1, (1<<31)+2, (1<<31)+1,
   1999                                (1<<31)+2);
   2000    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x80002431, 0x4b908000, 0x80002431,
   2001                                0x4b908000);
   2002    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x004d8000, 0x800027cc, 0x004d8000,
   2003                                0x800027cc);
   2004    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xf6a3fa3c, 0x083b3571, 0xf6a3fa3c,
   2005                                0x083b3571);
   2006    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xbf17fb9a, 0xb9743941, 0xbf17fb9a,
   2007                                0xb9743941);
   2008    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x2c0bd024, 0xbce5f924, 0x2c0bd024,
   2009                                0xbce5f924);
   2010    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x3e976e2e, 0xcc3c201c, 0x3e976e2e,
   2011                                0xcc3c201c);
   2012    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xb4bfb365, 0x1ebaf88e, 0xb4bfb365,
   2013                                0x1ebaf88e);
   2014    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x288593c0, 0x722d5e20, 0x288593c0,
   2015                                0x722d5e20);
   2016    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x4d7ff5b4, 0xa1d6f791, 0x4d7ff5b4,
   2017                                0xa1d6f791);
   2018    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x4557be13, 0x7b11bee7, 0x4557be13,
   2019                                0x7b11bee7);
   2020    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xadcf5772, 0xa5631488, 0xadcf5772,
   2021                                0xa5631488);
   2022    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x989a7235, 0xb10bcc65, 0x989a7235,
   2023                                0xb10bcc65);
   2024    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x4d6f393a, 0x73f39fca, 0x4d6f393a,
   2025                                0x73f39fca);
   2026    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x24a3291e, 0x5648e540, 0x24a3291e,
   2027                                0x5648e540);
   2028    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xdd91eebf, 0xc54f79e6, 0xdd91eebf,
   2029                                0xc54f79e6);
   2030    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xf7ce2ec6, 0x5fc92974, 0xf7ce2ec6,
   2031                                0x5fc92974);
   2032    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xbc1083e8, 0x7e08184e, 0xbc1083e8,
   2033                                0x7e08184e);
   2034    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xa617cc31, 0x71c8315f, 0xa617cc31,
   2035                                0x71c8315f);
   2036    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xdfe1e8f0, 0x9493110e, 0xdfe1e8f0,
   2037                                0x9493110e);
   2038    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x31458a23, 0xbb246228, 0x31458a23,
   2039                                0xbb246228);
   2040    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x848af791, 0x339d8d88, 0x848af791,
   2041                                0x339d8d88);
   2042    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xda3bacdc, 0x70974249, 0xda3bacdc,
   2043                                0x70974249);
   2044    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x649d5cbd, 0x8a8d4e7d, 0x649d5cbd,
   2045                                0x8a8d4e7d);
   2046    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xc0c8c881, 0xeb1b4335, 0xc0c8c881,
   2047                                0xeb1b4335);
   2048    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x7dd81a20, 0x0cd6b508, 0x7dd81a20,
   2049                                0x0cd6b508);
   2050    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x6731e282, 0x00000000,
   2051                                0x6731e282);
   2052    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xb6edf28f, 0xffffffff,
   2053                                0xb6edf28f);
   2054    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x4b4ec9ca, 0x00000000,
   2055                                0x4b4ec9ca);
   2056    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xc1037fa4, 0xffffffff,
   2057                                0xc1037fa4);
   2058    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xcb4ab48f, 0xffffffff,
   2059                                0xcb4ab48f);
   2060    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xaf8f7e18, 0xffffffff,
   2061                                0xaf8f7e18);
   2062    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x87df4510, 0xffffffff,
   2063                                0x87df4510);
   2064    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xabf4e8e1, 0xffffffff,
   2065                                0xabf4e8e1);
   2066    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0xf4c0eeac, 0xffffffff,
   2067                                0xf4c0eeac);
   2068    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x006a54f2, 0x00000000,
   2069                                0x006a54f2);
   2070    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0x00000000, 0x79f74493, 0x00000000,
   2071                                0x79f74493);
   2072    TESTDSPINST_AC_RS_RT_NODSPC("dpax.w.ph", 0xffffffff, 0x9c09e313, 0xffffffff,
   2073                                0x9c09e313);
   2074 
   2075    printf("-------- DPS.W.PH --------\n");
   2076    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2077                                0x4387ffff);
   2078    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x00000000, 0x00000004,
   2079                                0x00000005);
   2080    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xffffffff, 0x80000000,
   2081                                0x80000000);
   2082    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xeeeeffff, 0x00002345, 0x3277ffff,
   2083                                0x4387ffff);
   2084    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2085                                0x4387ffff);
   2086    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x00000000, 0x80000000,
   2087                                0x80000000);
   2088    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x80008000, 0x80000000,
   2089                                0x80000000);
   2090    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x00000000, 0x80000004,
   2091                                0x00000005);
   2092    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xffffffff, 0x80008000,
   2093                                0x4387ffff);
   2094    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xeeeeffff, 0x00002345, 0x80008000,
   2095                                0x80008000);
   2096    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2097                                0x4387ffff);
   2098    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x00000000, 0x80008000,
   2099                                0x80008000);
   2100    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2101                                0x4387ffff);
   2102    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x80000000, 0xffff0000, 0x3277eeee,
   2103                                0x80008000);
   2104    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x00000000, 0x80000000,
   2105                                0x80000000);
   2106    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   2107                                0x4387ffff);
   2108    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x0000ffff, 0x80008000,
   2109                                0x4387ffff);
   2110    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffff1234, 0x00000000, 0xffff3277,
   2111                                0x4387ffff);
   2112    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x5678ffff, 0x3277ffff, 0x80000000,
   2113                                0x80000000);
   2114    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x00000000, 0xffff3277,
   2115                                0xffff6543);
   2116    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xffffffff, 0xffffffff,
   2117                                0xffffffff);
   2118    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffbbbb, 0xeeee0000, 0x80008000,
   2119                                0x4387ffff);
   2120    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x34560000, 0x3277ffff,
   2121                                0x4387cccc);
   2122    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   2123                                0x4387ffff);
   2124    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x12345678, 0xffffffff, 0xffffffff,
   2125                                0xffffffff);
   2126    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffbbbb, 0x12345678, 0x80008000,
   2127                                0x4387ffff);
   2128    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x34560000, 0x87654321,
   2129                                0x80008000);
   2130    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   2131                                0x80000000);
   2132    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2133                                0x4387ffff);
   2134    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x80000000, 0x00000000, 0x80008000,
   2135                                0x80008000);
   2136    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x80008000, 0x3277ffff,
   2137                                0x4387ffff);
   2138    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   2139                                0x4387ffff);
   2140    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", -24, 120, -24, 120);
   2141    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 140, 120, 140, 120);
   2142    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000004, 1073741824, 0x00000004,
   2143                                1073741824);
   2144    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", (1<<31)+1, (1<<31)+2, (1<<31)+1,
   2145                                (1<<31)+2);
   2146    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x80002431, 0x4b908000, 0x80002431,
   2147                                0x4b908000);
   2148    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x004d8000, 0x800027cc, 0x004d8000,
   2149                                0x800027cc);
   2150    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xf6a3fa3c, 0x083b3571, 0xf6a3fa3c,
   2151                                0x083b3571);
   2152    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xbf17fb9a, 0xb9743941, 0xbf17fb9a,
   2153                                0xb9743941);
   2154    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x2c0bd024, 0xbce5f924, 0x2c0bd024,
   2155                                0xbce5f924);
   2156    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x3e976e2e, 0xcc3c201c, 0x3e976e2e,
   2157                                0xcc3c201c);
   2158    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xb4bfb365, 0x1ebaf88e, 0xb4bfb365,
   2159                                0x1ebaf88e);
   2160    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x288593c0, 0x722d5e20, 0x288593c0,
   2161                                0x722d5e20);
   2162    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x4d7ff5b4, 0xa1d6f791, 0x4d7ff5b4,
   2163                                0xa1d6f791);
   2164    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x4557be13, 0x7b11bee7, 0x4557be13,
   2165                                0x7b11bee7);
   2166    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xadcf5772, 0xa5631488, 0xadcf5772,
   2167                                0xa5631488);
   2168    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x989a7235, 0xb10bcc65, 0x989a7235,
   2169                                0xb10bcc65);
   2170    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x4d6f393a, 0x73f39fca, 0x4d6f393a,
   2171                                0x73f39fca);
   2172    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x24a3291e, 0x5648e540, 0x24a3291e,
   2173                                0x5648e540);
   2174    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xdd91eebf, 0xc54f79e6, 0xdd91eebf,
   2175                                0xc54f79e6);
   2176    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xf7ce2ec6, 0x5fc92974, 0xf7ce2ec6,
   2177                                0x5fc92974);
   2178    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xbc1083e8, 0x7e08184e, 0xbc1083e8,
   2179                                0x7e08184e);
   2180    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xa617cc31, 0x71c8315f, 0xa617cc31,
   2181                                0x71c8315f);
   2182    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xdfe1e8f0, 0x9493110e, 0xdfe1e8f0,
   2183                                0x9493110e);
   2184    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x31458a23, 0xbb246228, 0x31458a23,
   2185                                0xbb246228);
   2186    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x848af791, 0x339d8d88, 0x848af791,
   2187                                0x339d8d88);
   2188    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xda3bacdc, 0x70974249, 0xda3bacdc,
   2189                                0x70974249);
   2190    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x649d5cbd, 0x8a8d4e7d, 0x649d5cbd,
   2191                                0x8a8d4e7d);
   2192    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xc0c8c881, 0xeb1b4335, 0xc0c8c881,
   2193                                0xeb1b4335);
   2194    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x7dd81a20, 0x0cd6b508, 0x7dd81a20,
   2195                                0x0cd6b508);
   2196    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x6731e282, 0x00000000,
   2197                                0x6731e282);
   2198    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xb6edf28f, 0xffffffff,
   2199                                0xb6edf28f);
   2200    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x4b4ec9ca, 0x00000000,
   2201                                0x4b4ec9ca);
   2202    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xc1037fa4, 0xffffffff,
   2203                                0xc1037fa4);
   2204    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xcb4ab48f, 0xffffffff,
   2205                                0xcb4ab48f);
   2206    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xaf8f7e18, 0xffffffff,
   2207                                0xaf8f7e18);
   2208    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x87df4510, 0xffffffff,
   2209                                0x87df4510);
   2210    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xabf4e8e1, 0xffffffff,
   2211                                0xabf4e8e1);
   2212    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0xf4c0eeac, 0xffffffff,
   2213                                0xf4c0eeac);
   2214    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x006a54f2, 0x00000000,
   2215                                0x006a54f2);
   2216    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0x00000000, 0x79f74493, 0x00000000,
   2217                                0x79f74493);
   2218    TESTDSPINST_AC_RS_RT_NODSPC("dps.w.ph", 0xffffffff, 0x9c09e313, 0xffffffff,
   2219                                0x9c09e313);
   2220 
   2221    printf("-------- DPSQX_S.W.PH -------- \n");
   2222    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
   2223                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
   2224    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
   2225                              1073741824, 0x00000000, 0x00000006, t0, t1);
   2226    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
   2227                              0x80003421, 0x00000000, 1073741824, t2, t3);
   2228    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
   2229                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
   2230    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
   2231                              0x80000000, 0x00000000, 0x00000001, t5, t3);
   2232    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
   2233                              0xffffffff, 0xffffffff, 0xffffffff, t2, t4);
   2234    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
   2235                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
   2236    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
   2237                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
   2238    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
   2239                              0x00000000, 0x00000000, 0x55555555, t2, t3);
   2240    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
   2241                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
   2242    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
   2243                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
   2244    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
   2245                              0xffff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
   2246    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
   2247                              0xabababab, 0x00000000, 0x00000000, t2, t4);
   2248    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
   2249                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
   2250    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
   2251                              0x00000000, 0x00000000, 0x12349876, t4, t5);
   2252    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
   2253                              0x00354565, 0x00000000, 0x00354565, t0, t1);
   2254    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
   2255                              0x00086755, 0x00000000, 0x00086755, t2, t3);
   2256    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
   2257                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
   2258    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
   2259                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
   2260    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
   2261                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
   2262    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
   2263                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
   2264    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
   2265                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
   2266    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
   2267                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
   2268    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xffffffff,
   2269                              0xffffffff, 0x00000000, 0x083b3571, t0, t8);
   2270    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
   2271                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
   2272    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
   2273                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
   2274    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
   2275                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
   2276    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
   2277                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
   2278    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
   2279                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
   2280    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
   2281                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
   2282    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
   2283                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
   2284    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
   2285                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
   2286    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
   2287                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
   2288    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
   2289                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
   2290    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
   2291                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
   2292    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
   2293                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
   2294    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
   2295                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
   2296    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
   2297                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
   2298    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
   2299                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
   2300    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
   2301                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
   2302    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
   2303                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
   2304    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t0, $t8", "ac2", 0xffff8000,
   2305                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
   2306    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
   2307                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
   2308    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
   2309                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
   2310    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
   2311                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
   2312    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
   2313                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
   2314    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
   2315                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
   2316    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_s.w.ph $ac1, $t2, $t4", "ac1", 0xffff8000,
   2317                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
   2318 
   2319    printf("-------- DPSQX_SA.W.PH -------- \n");
   2320    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x00000000,
   2321                              0x00000000, 0xffffffff, 0x80000000, t4, t5);
   2322    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x00000004,
   2323                              1073741824, 0x00000000, 0x00000006, t0, t1);
   2324    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x80002435,
   2325                              0x80003421, 0x00000000, 1073741824, t2, t3);
   2326    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x76548000,
   2327                              0x73468000, 0x00000000, 0x7fffffff, t6, t7);
   2328    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x80000000,
   2329                              0x80000000, 0x00000000, 0x00000001, t5, t3);
   2330    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x00010001,
   2331                              0xcfffefff, 0xffffffff, 0xffffffff, t2, t4);
   2332    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x7fff7fff,
   2333                              0x7fff7fff, 0xffffffff, 0xffffffff, t0, t8);
   2334    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x0000c420,
   2335                              0x00000555, 0x00000000, 0x0fde3126, t0, t1);
   2336    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x00000000,
   2337                              0x00000000, 0x00000000, 0x55555555, t2, t3);
   2338    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x80000000,
   2339                              0x80000000, 0xffffffff, 0xffff2435, t4, t1);
   2340    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0xaaaaaaaa,
   2341                              0x55555555, 0xffffffff, 0xabababab, t6, t7);
   2342    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x00000018,
   2343                              0xfbff2435, 0xffffffff, 0xfc79b4d2, t5, t3);
   2344    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xbabababa,
   2345                              0xabababab, 0x00000000, 0x00000000, t2, t4);
   2346    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0xf0f0f0f0,
   2347                              0xfc79b4d2, 0x00000000, 0x00000000, t0, t8);
   2348    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0xfbde3976,
   2349                              0x00000000, 0x00000000, 0x12349876, t4, t5);
   2350    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x23534870,
   2351                              0x00354565, 0x00000000, 0x00354565, t0, t1);
   2352    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x980b7cde,
   2353                              0x00086755, 0x00000000, 0x00086755, t2, t3);
   2354    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x00000018,
   2355                              0x8f8f8f8f, 0xffffffff, 0x8f8f8f8f, t4, t1);
   2356    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x92784656,
   2357                              0xeeeeeeee, 0xffffffff, 0xeeeeeeee, t6, t7);
   2358    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0xcacacaca,
   2359                              0x1bdbdbdb, 0x00000000, 0x1bdbdbdb, t5, t3);
   2360    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xbacabaca,
   2361                              0xdecadeca, 0xffffffff, 0xdecadeca, t2, t4);
   2362    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x12fadeb4,
   2363                              0x93474bde, 0xffffffff, 0x93474bde, t0, t8);
   2364    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x7c000790,
   2365                              0xfc0007ff, 0xffffffff, 0xfabfabfa, t4, t5);
   2366    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0xbfff54ff,
   2367                              0xfb32ff01, 0x00000000, 0x083b3571, t0, t8);
   2368    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0x24a3291e,
   2369                              0x5648e540, 0xffffffff, 0xb9743941, t0, t1);
   2370    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0xdd91eebf,
   2371                              0xc54f79e6, 0xffffffff, 0xbce5f924, t2, t3);
   2372    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0xf7ce2ec6,
   2373                              0x5fc92974, 0xffffffff, 0xcc3c201c, t4, t1);
   2374    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0xbc1083e8,
   2375                              0x7e08184e, 0x00000000, 0x1ebaf88e, t6, t7);
   2376    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0xa617cc31,
   2377                              0x71c8315f, 0x00000000, 0x722d5e20, t5, t3);
   2378    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0xdfe1e8f0,
   2379                              0x9493110e, 0xffffffff, 0xa1d6f791, t2, t4);
   2380    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x31458a23,
   2381                              0xbb246228, 0x00000000, 0x7b11bee7, t0, t8);
   2382    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x848af791,
   2383                              0x339d8d88, 0xffffffff, 0xa5631488, t4, t5);
   2384    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0xda3bacdc,
   2385                              0x70974249, 0xffffffff, 0xb10bcc65, t0, t1);
   2386    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0x649d5cbd,
   2387                              0x8a8d4e7d, 0x00000000, 0x73f39fca, t2, t3);
   2388    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0xc0c8c881,
   2389                              0xeb1b4335, 0x00000000, 0x5648e540, t4, t1);
   2390    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x7dd81a20,
   2391                              0x0cd6b508, 0xffffffff, 0xc54f79e6, t6, t7);
   2392    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x7fff7fff,
   2393                              0x6731e282, 0x00000000, 0x5fc92974, t5, t3);
   2394    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x00000555,
   2395                              0xb6edf28f, 0x00000000, 0x7e08184e, t2, t4);
   2396    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x00000000,
   2397                              0x4b4ec9ca, 0x00000000, 0x71c8315f, t0, t8);
   2398    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t4, $t5", "ac3", 0x80000000,
   2399                              0xc1037fa4, 0xffffffff, 0x9493110e, t4, t5);
   2400    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x55555555,
   2401                              0xcb4ab48f, 0xffffffff, 0xbb246228, t2, t4);
   2402    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t0, $t8", "ac2", 0x0fff8000,
   2403                              0xaf8f8000, 0x00000000, 0x339d8d88, t0, t8);
   2404    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t0, $t1", "ac0", 0xabababab,
   2405                              0x87df4510, 0x00000000, 0x70974249, t0, t1);
   2406    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t3", "ac1", 0xfc79b4d2,
   2407                              0xabf4e8e1, 0xffffffff, 0x8a8d4e7d, t2, t3);
   2408    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac2, $t4, $t1", "ac2", 0x00000000,
   2409                              0xf4c0eeac, 0xffffffff, 0xeb1b4335, t4, t1);
   2410    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac3, $t6, $t7", "ac3", 0x00354565,
   2411                              0x006a54f2, 0x00000000, 0x0cd6b508, t6, t7);
   2412    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac0, $t5, $t3", "ac0", 0x00086755,
   2413                              0x79f74493, 0x00000000, 0x6731e282, t5, t3);
   2414    TESTDSPINST_AC_RS_RT_DSPC("dpsqx_sa.w.ph $ac1, $t2, $t4", "ac1", 0x98548000,
   2415                              0x9c098000, 0xffffffff, 0xb6edf28f, t2, t4);
   2416 
   2417    printf("-------- DPSX.W.PH --------\n");
   2418    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2419                                0x4387ffff);
   2420    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x00000000, 0x00000004,
   2421                                0x00000005);
   2422    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xffffffff, 0x80000000,
   2423                                0x80000000);
   2424    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xeeeeffff, 0x00002345, 0x3277ffff,
   2425                                0x4387ffff);
   2426    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2427                                0x4387ffff);
   2428    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x00000000, 0x80000000,
   2429                                0x80000000);
   2430    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x80008000, 0x80000000,
   2431                                0x80000000);
   2432    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x00000000, 0x80000004,
   2433                                0x00000005);
   2434    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xffffffff, 0x80008000,
   2435                                0x4387ffff);
   2436    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xeeeeffff, 0x00002345, 0x80008000,
   2437                                0x80008000);
   2438    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2439                                0x4387ffff);
   2440    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x00000000, 0x80008000,
   2441                                0x80008000);
   2442    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2443                                0x4387ffff);
   2444    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x80000000, 0xffff0000, 0x3277eeee,
   2445                                0x80008000);
   2446    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x00000000, 0x80000000,
   2447                                0x80000000);
   2448    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   2449                                0x4387ffff);
   2450    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x0000ffff, 0x80008000,
   2451                                0x4387ffff);
   2452    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffff1234, 0x00000000, 0xffff3277,
   2453                                0x4387ffff);
   2454    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x5678ffff, 0x3277ffff, 0x80000000,
   2455                                0x80000000);
   2456    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x00000000, 0xffff3277,
   2457                                0xffff6543);
   2458    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xffffffff, 0xffffffff,
   2459                                0xffffffff);
   2460    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffbbbb, 0xeeee0000, 0x80008000,
   2461                                0x4387ffff);
   2462    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x34560000, 0x3277ffff,
   2463                                0x4387cccc);
   2464    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   2465                                0x4387ffff);
   2466    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x12345678, 0xffffffff, 0xffffffff,
   2467                                0xffffffff);
   2468    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffbbbb, 0x12345678, 0x80008000,
   2469                                0x4387ffff);
   2470    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x34560000, 0x87654321,
   2471                                0x80008000);
   2472    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   2473                                0x80000000);
   2474    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2475                                0x4387ffff);
   2476    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x80000000, 0x00000000, 0x80008000,
   2477                                0x80008000);
   2478    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x80008000, 0x3277ffff,
   2479                                0x4387ffff);
   2480    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   2481                                0x4387ffff);
   2482    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", -24, 120, -24, 120);
   2483    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 140, 120, 140, 120);
   2484    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000004, 1073741824, 0x00000004,
   2485                                1073741824);
   2486    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", (1<<31)+1, (1<<31)+2, (1<<31)+1,
   2487                                (1<<31)+2);
   2488    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x80002431, 0x4b908000, 0x80002431,
   2489                                0x4b908000);
   2490    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x004d8000, 0x800027cc, 0x004d8000,
   2491                                0x800027cc);
   2492    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xf6a3fa3c, 0x083b3571, 0xf6a3fa3c,
   2493                                0x083b3571);
   2494    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xbf17fb9a, 0xb9743941, 0xbf17fb9a,
   2495                                0xb9743941);
   2496    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x2c0bd024, 0xbce5f924, 0x2c0bd024,
   2497                                0xbce5f924);
   2498    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x3e976e2e, 0xcc3c201c, 0x3e976e2e,
   2499                                0xcc3c201c);
   2500    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xb4bfb365, 0x1ebaf88e, 0xb4bfb365,
   2501                                0x1ebaf88e);
   2502    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x288593c0, 0x722d5e20, 0x288593c0,
   2503                                0x722d5e20);
   2504    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x4d7ff5b4, 0xa1d6f791, 0x4d7ff5b4,
   2505                                0xa1d6f791);
   2506    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x4557be13, 0x7b11bee7, 0x4557be13,
   2507                                0x7b11bee7);
   2508    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xadcf5772, 0xa5631488, 0xadcf5772,
   2509                                0xa5631488);
   2510    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x989a7235, 0xb10bcc65, 0x989a7235,
   2511                                0xb10bcc65);
   2512    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x4d6f393a, 0x73f39fca, 0x4d6f393a,
   2513                                0x73f39fca);
   2514    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x24a3291e, 0x5648e540, 0x24a3291e,
   2515                                0x5648e540);
   2516    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xdd91eebf, 0xc54f79e6, 0xdd91eebf,
   2517                                0xc54f79e6);
   2518    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xf7ce2ec6, 0x5fc92974, 0xf7ce2ec6,
   2519                                0x5fc92974);
   2520    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xbc1083e8, 0x7e08184e, 0xbc1083e8,
   2521                                0x7e08184e);
   2522    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xa617cc31, 0x71c8315f, 0xa617cc31,
   2523                                0x71c8315f);
   2524    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xdfe1e8f0, 0x9493110e, 0xdfe1e8f0,
   2525                                0x9493110e);
   2526    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x31458a23, 0xbb246228, 0x31458a23,
   2527                                0xbb246228);
   2528    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x848af791, 0x339d8d88, 0x848af791,
   2529                                0x339d8d88);
   2530    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xda3bacdc, 0x70974249, 0xda3bacdc,
   2531                                0x70974249);
   2532    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x649d5cbd, 0x8a8d4e7d, 0x649d5cbd,
   2533                                0x8a8d4e7d);
   2534    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xc0c8c881, 0xeb1b4335, 0xc0c8c881,
   2535                                0xeb1b4335);
   2536    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x7dd81a20, 0x0cd6b508, 0x7dd81a20,
   2537                                0x0cd6b508);
   2538    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x6731e282, 0x00000000,
   2539                                0x6731e282);
   2540    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xb6edf28f, 0xffffffff,
   2541                                0xb6edf28f);
   2542    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x4b4ec9ca, 0x00000000,
   2543                                0x4b4ec9ca);
   2544    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xc1037fa4, 0xffffffff,
   2545                                0xc1037fa4);
   2546    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xcb4ab48f, 0xffffffff,
   2547                                0xcb4ab48f);
   2548    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xaf8f7e18, 0xffffffff,
   2549                                0xaf8f7e18);
   2550    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x87df4510, 0xffffffff,
   2551                                0x87df4510);
   2552    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xabf4e8e1, 0xffffffff,
   2553                                0xabf4e8e1);
   2554    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0xf4c0eeac, 0xffffffff,
   2555                                0xf4c0eeac);
   2556    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x006a54f2, 0x00000000,
   2557                                0x006a54f2);
   2558    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0x00000000, 0x79f74493, 0x00000000,
   2559                                0x79f74493);
   2560    TESTDSPINST_AC_RS_RT_NODSPC("dpsx.w.ph", 0xffffffff, 0x9c09e313, 0xffffffff,
   2561                                0x9c09e313);
   2562 
   2563    printf("-------- MUL.PH --------\n");
   2564    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t1, $t2", 0x00000000, 0x00000000, t0,
   2565                              t1, t2);
   2566    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286, t2,
   2567                              t3, t4);
   2568    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t1, $t5", 0x00002435, 0xffff3421, t4,
   2569                              t1, t5);
   2570    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc, t6,
   2571                              t7, t3);
   2572    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t5, $t3, $t2", 0xf973437b, 0x80000000, t5,
   2573                              t3, t2);
   2574    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t4, $t8", 0x00010001, 0xffffffff, t2,
   2575                              t4, t8);
   2576    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff, t0,
   2577                              t8, t0);
   2578    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t6, $t1", 0x0000c420, 0x00000555, t4,
   2579                              t6, t1);
   2580    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t3, $t4", 0x00000004, 1073741824, t2,
   2581                              t3, t4);
   2582    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t1, $t5", 0x80002435, 0x80003421, t4,
   2583                              t1, t5);
   2584    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t6, $t7, $t3", 0x76548000, 0x73468000, t6,
   2585                              t7, t3);
   2586    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t5, $t3, $t2", 0x80000000, 0x80000000, t5,
   2587                              t3, t2);
   2588    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t4, $t8", 0x00010001, 0xffffffff, t2,
   2589                              t4, t8);
   2590    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff, t0,
   2591                              t8, t0);
   2592    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t6, $t1", 0x0000c420, 0x00000555, t4,
   2593                              t6, t1);
   2594    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t1, $t2", 0x00000000, 0x00000000, t0,
   2595                              t1, t2);
   2596    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t3, $t4", 0x80000000, 0x80000000, t2,
   2597                              t3, t4);
   2598    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555, t4,
   2599                              t1, t5);
   2600    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t6, $t7, $t3", 0x00000018, 0xffff2435, t6,
   2601                              t7, t3);
   2602    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t5, $t3, $t2", 0xbabababa, 0xabababab, t5,
   2603                              t3, t2);
   2604    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2, t2,
   2605                              t4, t8);
   2606    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000, t0,
   2607                              t8, t0);
   2608    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t6, $t1", 0x23534870, 0x00354565, t4,
   2609                              t6, t1);
   2610    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755, t0,
   2611                              t1, t2);
   2612    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f, t2,
   2613                              t3, t4);
   2614    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee, t4,
   2615                              t1, t5);
   2616    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb, t6,
   2617                              t7, t3);
   2618    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca, t5,
   2619                              t3, t2);
   2620    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde, t2,
   2621                              t4, t8);
   2622    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff, t0,
   2623                              t8, t0);
   2624    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff, t4,
   2625                              t6, t1);
   2626    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f, t0,
   2627                              t1, t2);
   2628    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18, t2,
   2629                              t3, t4);
   2630    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510, t4,
   2631                              t1, t5);
   2632    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1, t6,
   2633                              t7, t3);
   2634    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac, t5,
   2635                              t3, t2);
   2636    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2, t2,
   2637                              t4, t8);
   2638    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493, t0,
   2639                              t8, t0);
   2640    TESTDSPINST_RD_RS_RT_DSPC("mul.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313, t4,
   2641                              t6, t1);
   2642 
   2643    printf("-------- MUL_S.PH --------\n");
   2644    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   2645                              t0, t1, t2);
   2646    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
   2647                              t2, t3, t4);
   2648    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
   2649                              t4, t1, t5);
   2650    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   2651                              t6, t7, t3);
   2652    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   2653                              t5, t3, t2);
   2654    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2655                              t2, t4, t8);
   2656    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2657                              t0, t8, t0);
   2658    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2659                              t4, t6, t1);
   2660    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t3, $t4", 0x00000004, 1073741824,
   2661                              t2, t3, t4);
   2662    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
   2663                              t4, t1, t5);
   2664    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
   2665                              t6, t7, t3);
   2666    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
   2667                              t5, t3, t2);
   2668    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2669                              t2, t4, t8);
   2670    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2671                              t0, t8, t0);
   2672    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2673                              t4, t6, t1);
   2674    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   2675                              t0, t1, t2);
   2676    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   2677                              t2, t3, t4);
   2678    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   2679                              t4, t1, t5);
   2680    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   2681                              t6, t7, t3);
   2682    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   2683                              t5, t3, t2);
   2684    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   2685                              t2, t4, t8);
   2686    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   2687                              t0, t8, t0);
   2688    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   2689                              t4, t6, t1);
   2690    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   2691                              t0, t1, t2);
   2692    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   2693                              t2, t3, t4);
   2694    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   2695                              t4, t1, t5);
   2696    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   2697                              t6, t7, t3);
   2698    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   2699                              t5, t3, t2);
   2700    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   2701                              t2, t4, t8);
   2702    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   2703                              t0, t8, t0);
   2704    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   2705                              t4, t6, t1);
   2706    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   2707                              t0, t1, t2);
   2708    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   2709                              t2, t3, t4);
   2710    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   2711                              t4, t1, t5);
   2712    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   2713                              t6, t7, t3);
   2714    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   2715                              t5, t3, t2);
   2716    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   2717                              t2, t4, t8);
   2718    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   2719                              t0, t8, t0);
   2720    TESTDSPINST_RD_RS_RT_DSPC("mul_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   2721                              t4, t6, t1);
   2722 
   2723    printf("-------- MULQ_S.PH --------\n");
   2724    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   2725                              t0, t1, t2);
   2726    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t3, $t4", 0x00045fb2, 0x00000286,
   2727                              t2, t3, t4);
   2728    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t1, $t5", 0x00002435, 0xffff3421,
   2729                              t4, t1, t5);
   2730    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   2731                              t6, t7, t3);
   2732    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   2733                              t5, t3, t2);
   2734    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2735                              t2, t4, t8);
   2736    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2737                              t0, t8, t0);
   2738    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2739                              t4, t6, t1);
   2740    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t3, $t4", 0x00000004, 1073741824,
   2741                              t2, t3, t4);
   2742    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t1, $t5", 0x80002435, 0x80003421,
   2743                              t4, t1, t5);
   2744    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t6, $t7, $t3", 0x76548000, 0x73468000,
   2745                              t6, t7, t3);
   2746    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t5, $t3, $t2", 0x80000000, 0x80000000,
   2747                              t5, t3, t2);
   2748    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2749                              t2, t4, t8);
   2750    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2751                              t0, t8, t0);
   2752    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2753                              t4, t6, t1);
   2754    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   2755                              t0, t1, t2);
   2756    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   2757                              t2, t3, t4);
   2758    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   2759                              t4, t1, t5);
   2760    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   2761                              t6, t7, t3);
   2762    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   2763                              t5, t3, t2);
   2764    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   2765                              t2, t4, t8);
   2766    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   2767                              t0, t8, t0);
   2768    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   2769                              t4, t6, t1);
   2770    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   2771                              t0, t1, t2);
   2772    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   2773                              t2, t3, t4);
   2774    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   2775                              t4, t1, t5);
   2776    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   2777                              t6, t7, t3);
   2778    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   2779                              t5, t3, t2);
   2780    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   2781                              t2, t4, t8);
   2782    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   2783                              t0, t8, t0);
   2784    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   2785                              t4, t6, t1);
   2786    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   2787                              t0, t1, t2);
   2788    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   2789                              t2, t3, t4);
   2790    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   2791                              t4, t1, t5);
   2792    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   2793                              t6, t7, t3);
   2794    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   2795                              t5, t3, t2);
   2796    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   2797                              t2, t4, t8);
   2798    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   2799                              t0, t8, t0);
   2800    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   2801                              t4, t6, t1);
   2802 
   2803    printf("-------- MULQ_RS.W --------\n");
   2804    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t1, $t2", 0x00000000, 0x00000000,
   2805                              t0, t1, t2);
   2806    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t3, $t4", 0x00045fb2, 0x00000286,
   2807                              t2, t3, t4);
   2808    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t1, $t5", 0x00002435, 0xffff3421,
   2809                              t4, t1, t5);
   2810    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   2811                              t6, t7, t3);
   2812    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
   2813                              t5, t3, t2);
   2814    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2815                              t2, t4, t8);
   2816    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2817                              t0, t8, t0);
   2818    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2819                              t4, t6, t1);
   2820    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t3, $t4", 0x00000004, 1073741824,
   2821                              t2, t3, t4);
   2822    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t1, $t5", 0x80002435, 0x80003421,
   2823                              t4, t1, t5);
   2824    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t6, $t7, $t3", 0x76548000, 0x73468000,
   2825                              t6, t7, t3);
   2826    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t5, $t3, $t2", 0x80000000, 0x80000000,
   2827                              t5, t3, t2);
   2828    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2829                              t2, t4, t8);
   2830    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2831                              t0, t8, t0);
   2832    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2833                              t4, t6, t1);
   2834    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t1, $t2", 0x00000000, 0x00000000,
   2835                              t0, t1, t2);
   2836    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t3, $t4", 0x80000000, 0x80000000,
   2837                              t2, t3, t4);
   2838    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   2839                              t4, t1, t5);
   2840    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
   2841                              t6, t7, t3);
   2842    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
   2843                              t5, t3, t2);
   2844    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   2845                              t2, t4, t8);
   2846    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   2847                              t0, t8, t0);
   2848    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t6, $t1", 0x23534870, 0x00354565,
   2849                              t4, t6, t1);
   2850    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   2851                              t0, t1, t2);
   2852    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   2853                              t2, t3, t4);
   2854    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   2855                              t4, t1, t5);
   2856    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   2857                              t6, t7, t3);
   2858    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   2859                              t5, t3, t2);
   2860    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   2861                              t2, t4, t8);
   2862    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   2863                              t0, t8, t0);
   2864    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   2865                              t4, t6, t1);
   2866    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   2867                              t0, t1, t2);
   2868    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   2869                              t2, t3, t4);
   2870    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   2871                              t4, t1, t5);
   2872    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   2873                              t6, t7, t3);
   2874    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   2875                              t5, t3, t2);
   2876    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   2877                              t2, t4, t8);
   2878    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   2879                              t0, t8, t0);
   2880    TESTDSPINST_RD_RS_RT_DSPC("mulq_rs.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   2881                              t4, t6, t1);
   2882 
   2883    printf("-------- MULQ_S.W --------\n");
   2884    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t1, $t2", 0x00000000, 0x00000000,
   2885                              t0, t1, t2);
   2886    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t3, $t4", 0x00045fb2, 0x00000286,
   2887                              t2, t3, t4);
   2888    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t1, $t5", 0x00002435, 0xffff3421,
   2889                              t4, t1, t5);
   2890    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   2891                              t6, t7, t3);
   2892    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
   2893                              t5, t3, t2);
   2894    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2895                              t2, t4, t8);
   2896    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2897                              t0, t8, t0);
   2898    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2899                              t4, t6, t1);
   2900    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t3, $t4", 0x00000004, 1073741824,
   2901                              t2, t3, t4);
   2902    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t1, $t5", 0x80002435, 0x80003421,
   2903                              t4, t1, t5);
   2904    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t6, $t7, $t3", 0x76548000, 0x73468000,
   2905                              t6, t7, t3);
   2906    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t5, $t3, $t2", 0x80000000, 0x80000000,
   2907                              t5, t3, t2);
   2908    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t4, $t8", 0x00010001, 0xffffffff,
   2909                              t2, t4, t8);
   2910    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t8, $t0", 0x7fff7fff, 0x7fff7fff,
   2911                              t0, t8, t0);
   2912    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
   2913                              t4, t6, t1);
   2914    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t1, $t2", 0x00000000, 0x00000000,
   2915                              t0, t1, t2);
   2916    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t3, $t4", 0x80000000, 0x80000000,
   2917                              t2, t3, t4);
   2918    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   2919                              t4, t1, t5);
   2920    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
   2921                              t6, t7, t3);
   2922    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
   2923                              t5, t3, t2);
   2924    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   2925                              t2, t4, t8);
   2926    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   2927                              t0, t8, t0);
   2928    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t6, $t1", 0x23534870, 0x00354565,
   2929                              t4, t6, t1);
   2930    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   2931                              t0, t1, t2);
   2932    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   2933                              t2, t3, t4);
   2934    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   2935                              t4, t1, t5);
   2936    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   2937                              t6, t7, t3);
   2938    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   2939                              t5, t3, t2);
   2940    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   2941                              t2, t4, t8);
   2942    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   2943                              t0, t8, t0);
   2944    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   2945                              t4, t6, t1);
   2946    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   2947                              t0, t1, t2);
   2948    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   2949                              t2, t3, t4);
   2950    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   2951                              t4, t1, t5);
   2952    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   2953                              t6, t7, t3);
   2954    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   2955                              t5, t3, t2);
   2956    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   2957                              t2, t4, t8);
   2958    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   2959                              t0, t8, t0);
   2960    TESTDSPINST_RD_RS_RT_DSPC("mulq_s.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   2961                              t4, t6, t1);
   2962 
   2963    printf("-------- MULSA.W.PH --------\n");
   2964    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2965                                0x4387ffff);
   2966    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x00000000, 0x00000004,
   2967                                0x00000005);
   2968    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xffffffff, 0x80000000,
   2969                                0x80000000);
   2970    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xeeeeffff, 0x00002345, 0x3277ffff,
   2971                                0x4387ffff);
   2972    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2973                                0x4387ffff);
   2974    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x00000000, 0x80000000,
   2975                                0x80000000);
   2976    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x80008000, 0x80000000,
   2977                                0x80000000);
   2978    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x00000000, 0x80000004,
   2979                                0x00000005);
   2980    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xffffffff, 0x80008000,
   2981                                0x4387ffff);
   2982    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xeeeeffff, 0x00002345, 0x80008000,
   2983                                0x80008000);
   2984    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   2985                                0x4387ffff);
   2986    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x00000000, 0x80008000,
   2987                                0x80008000);
   2988    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x00000000, 0x3277ffff,
   2989                                0x4387ffff);
   2990    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x80000000, 0xffff0000, 0x3277eeee,
   2991                                0x80008000);
   2992    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x00000000, 0x80000000,
   2993                                0x80000000);
   2994    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   2995                                0x4387ffff);
   2996    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x0000ffff, 0x80008000,
   2997                                0x4387ffff);
   2998    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffff1234, 0x00000000, 0xffff3277,
   2999                                0x4387ffff);
   3000    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x5678ffff, 0x3277ffff, 0x80000000,
   3001                                0x80000000);
   3002    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x00000000, 0xffff3277,
   3003                                0xffff6543);
   3004    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xffffffff, 0xffffffff,
   3005                                0xffffffff);
   3006    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffbbbb, 0xeeee0000, 0x80008000,
   3007                                0x4387ffff);
   3008    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x34560000, 0x3277ffff,
   3009                                0x4387cccc);
   3010    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   3011                                0x4387ffff);
   3012    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x12345678, 0xffffffff, 0xffffffff,
   3013                                0xffffffff);
   3014    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffbbbb, 0x12345678, 0x80008000,
   3015                                0x4387ffff);
   3016    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x34560000, 0x87654321,
   3017                                0x80008000);
   3018    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xbbbbffff, 0x0000ffff, 0xeeeeffff,
   3019                                0x80000000);
   3020    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffaaaa, 0x12340000, 0x3277ffff,
   3021                                0x4387ffff);
   3022    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x80000000, 0x00000000, 0x80008000,
   3023                                0x80008000);
   3024    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x80008000, 0x3277ffff,
   3025                                0x4387ffff);
   3026    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x0000ffff, 0xffff0000, 0x3277eeee,
   3027                                0x4387ffff);
   3028    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", -24, 120, -24, 120);
   3029    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 140, 120, 140, 120);
   3030    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000004, 1073741824, 0x00000004,
   3031                                1073741824);
   3032    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", (1<<31)+1, (1<<31)+2, (1<<31)+1,
   3033                                (1<<31)+2);
   3034    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x80002431, 0x4b908000, 0x80002431,
   3035                                0x4b908000);
   3036    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x004d8000, 0x800027cc, 0x004d8000,
   3037                                0x800027cc);
   3038    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xf6a3fa3c, 0x083b3571, 0xf6a3fa3c,
   3039                                0x083b3571);
   3040    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xbf17fb9a, 0xb9743941, 0xbf17fb9a,
   3041                                0xb9743941);
   3042    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x2c0bd024, 0xbce5f924, 0x2c0bd024,
   3043                                0xbce5f924);
   3044    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x3e976e2e, 0xcc3c201c, 0x3e976e2e,
   3045                                0xcc3c201c);
   3046    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xb4bfb365, 0x1ebaf88e, 0xb4bfb365,
   3047                                0x1ebaf88e);
   3048    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x288593c0, 0x722d5e20, 0x288593c0,
   3049                                0x722d5e20);
   3050    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x4d7ff5b4, 0xa1d6f791, 0x4d7ff5b4,
   3051                                0xa1d6f791);
   3052    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x4557be13, 0x7b11bee7, 0x4557be13,
   3053                                0x7b11bee7);
   3054    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xadcf5772, 0xa5631488, 0xadcf5772,
   3055                                0xa5631488);
   3056    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x989a7235, 0xb10bcc65, 0x989a7235,
   3057                                0xb10bcc65);
   3058    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x4d6f393a, 0x73f39fca, 0x4d6f393a,
   3059                                0x73f39fca);
   3060    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x24a3291e, 0x5648e540, 0x24a3291e,
   3061                                0x5648e540);
   3062    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xdd91eebf, 0xc54f79e6, 0xdd91eebf,
   3063                                0xc54f79e6);
   3064    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xf7ce2ec6, 0x5fc92974, 0xf7ce2ec6,
   3065                                0x5fc92974);
   3066    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xbc1083e8, 0x7e08184e, 0xbc1083e8,
   3067                                0x7e08184e);
   3068    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xa617cc31, 0x71c8315f, 0xa617cc31,
   3069                                0x71c8315f);
   3070    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xdfe1e8f0, 0x9493110e, 0xdfe1e8f0,
   3071                                0x9493110e);
   3072    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x31458a23, 0xbb246228, 0x31458a23,
   3073                                0xbb246228);
   3074    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x848af791, 0x339d8d88, 0x848af791,
   3075                                0x339d8d88);
   3076    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xda3bacdc, 0x70974249, 0xda3bacdc,
   3077                                0x70974249);
   3078    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x649d5cbd, 0x8a8d4e7d, 0x649d5cbd,
   3079                                0x8a8d4e7d);
   3080    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xc0c8c881, 0xeb1b4335, 0xc0c8c881,
   3081                                0xeb1b4335);
   3082    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x7dd81a20, 0x0cd6b508, 0x7dd81a20,
   3083                                0x0cd6b508);
   3084    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x6731e282, 0x00000000,
   3085                                0x6731e282);
   3086    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xb6edf28f, 0xffffffff,
   3087                                0xb6edf28f);
   3088    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x4b4ec9ca, 0x00000000,
   3089                                0x4b4ec9ca);
   3090    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xc1037fa4, 0xffffffff,
   3091                                0xc1037fa4);
   3092    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xcb4ab48f, 0xffffffff,
   3093                                0xcb4ab48f);
   3094    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xaf8f7e18, 0xffffffff,
   3095                                0xaf8f7e18);
   3096    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x87df4510, 0xffffffff,
   3097                                0x87df4510);
   3098    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xabf4e8e1, 0xffffffff,
   3099                                0xabf4e8e1);
   3100    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0xf4c0eeac, 0xffffffff,
   3101                                0xf4c0eeac);
   3102    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x006a54f2, 0x00000000,
   3103                                0x006a54f2);
   3104    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0x00000000, 0x79f74493, 0x00000000,
   3105                                0x79f74493);
   3106    TESTDSPINST_AC_RS_RT_NODSPC("mulsa.w.ph", 0xffffffff, 0x9c09e313, 0xffffffff,
   3107                                0x9c09e313);
   3108 
   3109    printf("-------- PRECR.QB.PH --------\n");
   3110    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t1, $t2", 0x00000000,
   3111                                0x00000000, t0, t1, t2);
   3112    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t3, $t4", 0x045fb232,
   3113                                0x00028632, t2, t3, t4);
   3114    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t1, $t5", 0xfabc3435,
   3115                                0xfabc3421, t4, t1, t5);
   3116    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t6, $t7, $t3", 0x07654cb8,
   3117                                0x734680bc, t6, t7, t3);
   3118    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t5, $t3, $t2", 0xf973437b,
   3119                                0x80000000, t5, t3, t2);
   3120    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t4, $t8", 0x00ff0001,
   3121                                0xff01ffff, t2, t4, t8);
   3122    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t8, $t0", 0x7fff7fff,
   3123                                0x7fff7fff, t0, t8, t0);
   3124    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t6, $t1", 0x0000c420,
   3125                                0x00000555, t4, t6, t1);
   3126    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t1, $t2", 0x00000000,
   3127                                0x00000000, t0, t1, t2);
   3128    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t3, $t4", 0x80000000,
   3129                                0x80000000, t2, t3, t4);
   3130    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t1, $t5", 0xaaaaaaaa,
   3131                                0x55555555, t4, t1, t5);
   3132    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t6, $t7, $t3", 0x00000018,
   3133                                0xffff2435, t6, t7, t3);
   3134    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t5, $t3, $t2", 0xbabababa,
   3135                                0xabababab, t5, t3, t2);
   3136    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t4, $t8", 0xf0f0f0f0,
   3137                                0xfc79b4d2, t2, t4, t8);
   3138    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t8, $t0", 0xfbde3976,
   3139                                0x00000000, t0, t8, t0);
   3140    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t6, $t1", 0x23534870,
   3141                                0x00354565, t4, t6, t1);
   3142    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t1, $t2", 0x980b7cde,
   3143                                0x00086755, t0, t1, t2);
   3144    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t3, $t4", 0x00000018,
   3145                                0x8f8f8f8f, t2, t3, t4);
   3146    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t1, $t5", 0x92784656,
   3147                                0xeeeeeeee, t4, t1, t5);
   3148    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t6, $t7, $t3", 0xcacacaca,
   3149                                0x1bdbdbdb, t6, t7, t3);
   3150    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t5, $t3, $t2", 0xbacabaca,
   3151                                0xdecadeca, t5, t3, t2);
   3152    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t4, $t8", 0x12fadeb4,
   3153                                0x93474bde, t2, t4, t8);
   3154    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t8, $t0", 0x7c000790,
   3155                                0xfc0007ff, t0, t8, t0);
   3156    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t6, $t1", 0xffffffff,
   3157                                0xffffffff, t4, t6, t1);
   3158    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t1, $t2", 0xf2f4df1f,
   3159                                0xcb4ab48f, t0, t1, t2);
   3160    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t3, $t4", 0x435f909a,
   3161                                0xaf8f7e18, t2, t3, t4);
   3162    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t1, $t5", 0x2106ba5f,
   3163                                0x87df4510, t4, t1, t5);
   3164    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t6, $t7, $t3", 0x246a6376,
   3165                                0xabf4e8e1, t6, t7, t3);
   3166    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t5, $t3, $t2", 0x1046a1a3,
   3167                                0xf4c0eeac, t5, t3, t2);
   3168    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t2, $t4, $t8", 0x638ca515,
   3169                                0x006a54f2, t2, t4, t8);
   3170    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t0, $t8, $t0", 0xf63e7a9d,
   3171                                0x79f74493, t0, t8, t0);
   3172    TESTDSPINST_RD_RS_RT_NODSPC("precr.qb.ph $t4, $t6, $t1", 0xbd6845cd,
   3173                                0x9c09e313, t4, t6, t1);
   3174 
   3175    printf("-------- PRECR_SRA.PH.W --------\n");
   3176    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t1,  0", 0x00000000,
   3177                                0x00000000,  0, t0, t1);
   3178    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t3,  1", 0x045fb232,
   3179                                0x00028632,  1, t2, t3);
   3180    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t1,  4", 0xfabc3435,
   3181                                0xfabc3421,  4, t4, t1);
   3182    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t6, $t7, 17", 0x07654cb8,
   3183                                0x734680bc, 17, t6, t7);
   3184    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t5, $t3, 31", 0xf973437b,
   3185                                0x80000000, 31, t5, t3);
   3186    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t4,  8", 0x00ff0001,
   3187                                0xff01ffff,  8, t2, t4);
   3188    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t8, 11", 0x7fff7fff,
   3189                                0x7fff7fff, 11, t0, t8);
   3190    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t6, 13", 0x0000c420,
   3191                                0x00000555, 13, t4, t6);
   3192    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t1,  2", 0x00000000,
   3193                                0x00000000,  2, t0, t1);
   3194    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t3,  6", 0x80000000,
   3195                                0x80000000,  6, t2, t3);
   3196    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t1,  7", 0xaaaaaaaa,
   3197                                0x55555555,  7, t4, t1);
   3198    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t6, $t7, 19", 0x00000018,
   3199                                0xffff2435, 19, t6, t7);
   3200    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t5, $t3, 31", 0xbabababa,
   3201                                0xabababab, 31, t5, t3);
   3202    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t4,  4", 0xf0f0f0f0,
   3203                                0xfc79b4d2,  4, t2, t4);
   3204    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t8, 12", 0xfbde3976,
   3205                                0x00000000, 12, t0, t8);
   3206    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t6, 10", 0x23534870,
   3207                                0x00354565, 10, t4, t6);
   3208    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t1, 20", 0x980b7cde,
   3209                                0x00086755, 20, t0, t1);
   3210    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t3, 21", 0x00000018,
   3211                                0x8f8f8f8f, 21, t2, t3);
   3212    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t1, 24", 0x92784656,
   3213                                0xeeeeeeee, 24, t4, t1);
   3214    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t6, $t7, 27", 0xcacacaca,
   3215                                0x1bdbdbdb, 27, t6, t7);
   3216    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t5, $t3,  1", 0xbacabaca,
   3217                                0xdecadeca,  1, t5, t3);
   3218    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t4, 18", 0x12fadeb4,
   3219                                0x93474bde, 18, t2, t4);
   3220    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t8, 10", 0x7c000790,
   3221                                0xfc0007ff, 10, t0, t8);
   3222    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t6, 16", 0xffffffff,
   3223                                0xffffffff, 16, t4, t6);
   3224    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t1,  0", 0xf2f4df1f,
   3225                                0xcb4ab48f,  0, t0, t1);
   3226    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t3, 14", 0x435f909a,
   3227                                0xaf8f7e18, 14, t2, t3);
   3228    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t1,  5", 0x2106ba5f,
   3229                                0x87df4510,  5, t4, t1);
   3230    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t6, $t7,  7", 0x246a6376,
   3231                                0xabf4e8e1,  7, t6, t7);
   3232    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t5, $t3,  9", 0x1046a1a3,
   3233                                0xf4c0eeac,  9, t5, t3);
   3234    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t2, $t4,  3", 0x638ca515,
   3235                                0x006a54f2,  3, t2, t4);
   3236    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t0, $t8, 15", 0xf63e7a9d,
   3237                                0x79f74493, 15, t0, t8);
   3238    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra.ph.w $t4, $t6, 11", 0xbd6845cd,
   3239                                0x9c09e313, 11, t4, t6);
   3240 
   3241    printf("-------- PRECR_SRA_R.PH.W --------\n");
   3242    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t1,  0", 0x00000000,
   3243                                0x00000000,  0, t0, t1);
   3244    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t3,  1", 0x045fb232,
   3245                                0x00028632,  1, t2, t3);
   3246    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t1,  4", 0xfabc3435,
   3247                                0xfabc3421,  4, t4, t1);
   3248    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t6, $t7, 17", 0x07654cb8,
   3249                                0x734680bc, 17, t6, t7);
   3250    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t5, $t3, 31", 0xf973437b,
   3251                                0x80000000, 31, t5, t3);
   3252    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t4,  8", 0x00ff0001,
   3253                                0xff01ffff,  8, t2, t4);
   3254    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t8, 11", 0x7fff7fff,
   3255                                0x7fff7fff, 11, t0, t8);
   3256    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t6, 13", 0x0000c420,
   3257                                0x00000555, 13, t4, t6);
   3258    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t1,  2", 0x00000000,
   3259                                0x00000000,  2, t0, t1);
   3260    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t3,  6", 0x80000000,
   3261                                0x80000000,  6, t2, t3);
   3262    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t1,  7", 0xaaaaaaaa,
   3263                                0x55555555,  7, t4, t1);
   3264    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t6, $t7, 19", 0x00000018,
   3265                                0xffff2435, 19, t6, t7);
   3266    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t5, $t3, 31", 0xbabababa,
   3267                                0xabababab, 31, t5, t3);
   3268    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t4,  4", 0xf0f0f0f0,
   3269                                0xfc79b4d2,  4, t2, t4);
   3270    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t8, 12", 0xfbde3976,
   3271                                0x00000000, 12, t0, t8);
   3272    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t6, 10", 0x23534870,
   3273                                0x00354565, 10, t4, t6);
   3274    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t1, 20", 0x980b7cde,
   3275                                0x00086755, 20, t0, t1);
   3276    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t3, 21", 0x00000018,
   3277                                0x8f8f8f8f, 21, t2, t3);
   3278    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t1, 24", 0x92784656,
   3279                                0xeeeeeeee, 24, t4, t1);
   3280    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t6, $t7, 27", 0xcacacaca,
   3281                                0x1bdbdbdb, 27, t6, t7);
   3282    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t5, $t3,  1", 0xbacabaca,
   3283                                0xdecadeca,  1, t5, t3);
   3284    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t4, 18", 0x12fadeb4,
   3285                                0x93474bde, 18, t2, t4);
   3286    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t8, 10", 0x7c000790,
   3287                                0xfc0007ff, 10, t0, t8);
   3288    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t6, 16", 0xffffffff,
   3289                                0xffffffff, 16, t4, t6);
   3290    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t1,  0", 0xf2f4df1f,
   3291                                0xcb4ab48f,  0, t0, t1);
   3292    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t3, 14", 0x435f909a,
   3293                                0xaf8f7e18, 14, t2, t3);
   3294    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t1,  5", 0x2106ba5f,
   3295                                0x87df4510,  5, t4, t1);
   3296    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t6, $t7,  7", 0x246a6376,
   3297                                0xabf4e8e1,  7, t6, t7);
   3298    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t5, $t3,  9", 0x1046a1a3,
   3299                                0xf4c0eeac,  9, t5, t3);
   3300    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t2, $t4,  3", 0x638ca515,
   3301                                0x006a54f2,  3, t2, t4);
   3302    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t0, $t8, 15", 0xf63e7a9d,
   3303                                0x79f74493, 15, t0, t8);
   3304    TESTDSPINST_RT_RS_SA_NODSPC("precr_sra_r.ph.w $t4, $t6, 11", 0xbd6845cd,
   3305                                0x9c09e313, 11, t4, t6);
   3306 
   3307    printf("-------- PREPEND --------\n");
   3308    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0xffff86fc, 0xfffffe02,
   3309                                3, t0, t1);
   3310    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0xfffffe06,
   3311                                0, t0, t1);
   3312    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x7fffffff, 0x80000000,
   3313                                3, t0, t1);
   3314    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x80000000, 0x00000000,
   3315                                0, t0, t1);
   3316    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0xffffff23,
   3317                                0, t0, t1);
   3318    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0xff76947a, 0x00000000,
   3319                                7, t0, t1);
   3320    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000035, 0xffffffc0,
   3321                                0, t0, t1);
   3322    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x80000000, 0x01130b02,
   3323                                0, t0, t1);
   3324    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffffe, 0xc0000001,
   3325                                0, t0, t1);
   3326    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7fffffff, 0x7fffffff,
   3327                                0, t0, t1);
   3328    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x1a75980e, 0x1b4c3c1e,
   3329                                0, t0, t1);
   3330    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xffffffff, 0x7ffffffc,
   3331                                1, t0, t1);
   3332    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 13", 0xc0000003, 0x00000000,
   3333                                13, t0, t1);
   3334    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xfffffffe, 0x00000000,
   3335                                1, t0, t1);
   3336    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x1ffffffe, 0x7fffffff,
   3337                                31, t0, t1);
   3338    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0x00000000,
   3339                                0, t0, t1);
   3340    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x7fffffff, 0xfffffda8,
   3341                                31, t0, t1);
   3342    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 12", 0xc0000007, 0xfffff6b2,
   3343                                12, t0, t1);
   3344    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x002a923e, 0x1ffffff8,
   3345                                1, t0, t1);
   3346    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xfffffee4, 0x00000010,
   3347                                31, t0, t1);
   3348    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xf8034c6b, 0xfb766d64,
   3349                                31, t0, t1);
   3350    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0x7ffffffb, 0x0000002b,
   3351                                4, t0, t1);
   3352    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfffffffa, 0x7fffffff,
   3353                                0, t0, t1);
   3354    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  9", 0x55555555, 0x7fffffff,
   3355                                9, t0, t1);
   3356    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 18", 0x80000000, 0x80000005,
   3357                                18, t0, t1);
   3358    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7fffffff, 0x000004fc,
   3359                                0, t0, t1);
   3360    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x0035d189, 0x80000000,
   3361                                31, t0, t1);
   3362    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x8000007f, 0xff00ff00,
   3363                                0, t0, t1);
   3364    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 12", 0x00000000, 0x03557af6,
   3365                                12, t0, t1);
   3366    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x000000e3, 0x0008f4ab,
   3367                                0, t0, t1);
   3368    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x00000000, 0x00000000,
   3369                                2, t0, t1);
   3370    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x0f0f0f0f, 0x00000003,
   3371                                3, t0, t1);
   3372    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x002559bf, 0xdb6db6db,
   3373                                0, t0, t1);
   3374    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x66666666, 0x7fffff80,
   3375                                2, t0, t1);
   3376    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0x80000000, 0xfa17edf5,
   3377                                30, t0, t1);
   3378    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0xc0000001, 0x00003cb5,
   3379                                7, t0, t1);
   3380    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xc71c71c7, 0x00000335,
   3381                                0, t0, t1);
   3382    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x8000001f, 0xfffffef3,
   3383                                0, t0, t1);
   3384    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 12", 0x00000006, 0x80000002,
   3385                                12, t0, t1);
   3386    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0xffffffd5, 0xf8c02863,
   3387                                15, t0, t1);
   3388    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0x33299df8, 0x000011fb,
   3389                                25, t0, t1);
   3390    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 12", 0x00000000, 0xc000000f,
   3391                                12, t0, t1);
   3392    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00000001, 0x00000000,
   3393                                31, t0, t1);
   3394    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  5", 0x7ffffffb, 0x7ffffffd,
   3395                                5, t0, t1);
   3396    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0x80000000, 0x7fffffff,
   3397                                25, t0, t1);
   3398    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0x0ffffffc, 0x0ffffffc,
   3399                                4, t0, t1);
   3400    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xfffffe6a, 0xc000001f,
   3401                                31, t0, t1);
   3402    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0xfeb380e9, 0x7ffffffd,
   3403                                2, t0, t1);
   3404    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x7ffffffa, 0x00000000,
   3405                                1, t0, t1);
   3406    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x8000000f, 0xdb6db6db,
   3407                                2, t0, t1);
   3408    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 24", 0xfffd232e, 0x00001548,
   3409                                24, t0, t1);
   3410    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xc000001f, 0x00000000,
   3411                                1, t0, t1);
   3412    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 22", 0x33333333, 0x00000000,
   3413                                22, t0, t1);
   3414    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0x0000db1b, 0xc0000001,
   3415                                30, t0, t1);
   3416    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0xffffffff, 0xe0000007,
   3417                                10, t0, t1);
   3418    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00000000, 0xffffff5f,
   3419                                1, t0, t1);
   3420    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x0d2efcd1, 0x8000003f,
   3421                                31, t0, t1);
   3422    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0x00000000, 0xffffff6d,
   3423                                7, t0, t1);
   3424    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00081a70, 0xe4606c5a,
   3425                                1, t0, t1);
   3426    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0xe0000003,
   3427                                31, t0, t1);
   3428    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0xfff9ab12,
   3429                                0, t0, t1);
   3430    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0x7fffffff,
   3431                                31, t0, t1);
   3432    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 17", 0xffffd894, 0x00000000,
   3433                                17, t0, t1);
   3434    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x0ffffffe, 0xfff6ab08,
   3435                                31, t0, t1);
   3436    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0x80000000, 0x00000000,
   3437                                30, t0, t1);
   3438    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 14", 0x7fffffff, 0x00000006,
   3439                                14, t0, t1);
   3440    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x80000000, 0x7fffffff,
   3441                                2, t0, t1);
   3442    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0xfffff23b, 0x00000000,
   3443                                10, t0, t1);
   3444    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0x80000000,
   3445                                31, t0, t1);
   3446    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000011, 0x7fffffff,
   3447                                0, t0, t1);
   3448    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xfffffffa, 0x1c71c71c,
   3449                                1, t0, t1);
   3450    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xcccccccc, 0xf8000001,
   3451                                1, t0, t1);
   3452    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0x80000000,
   3453                                31, t0, t1);
   3454    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfdb739b8, 0x000000e1,
   3455                                0, t0, t1);
   3456    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 19", 0x7fffffff, 0x80000000,
   3457                                19, t0, t1);
   3458    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xfffff216, 0x80000000,
   3459                                1, t0, t1);
   3460    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x3ffffff8, 0x00000000,
   3461                                31, t0, t1);
   3462    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfea7a4f9, 0xfffffffe,
   3463                                0, t0, t1);
   3464    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x7fffffff, 0x7fffffff,
   3465                                31, t0, t1);
   3466    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0x7fffffff, 0x00000006,
   3467                                25, t0, t1);
   3468    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0x7fffffff, 0x8e38e38e,
   3469                                8, t0, t1);
   3470    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00000000, 0xfffffffe,
   3471                                31, t0, t1);
   3472    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7fffffff, 0x00000000,
   3473                                0, t0, t1);
   3474    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0x80000000, 0xffffffd3,
   3475                                30, t0, t1);
   3476    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xf0000001, 0x00000006,
   3477                                0, t0, t1);
   3478    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 21", 0xfffffff8, 0x00000002,
   3479                                21, t0, t1);
   3480    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0x66666666, 0x49249249,
   3481                                8, t0, t1);
   3482    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x7fffffff, 0x000000ff,
   3483                                31, t0, t1);
   3484    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x1ffffff8, 0x80000001,
   3485                                0, t0, t1);
   3486    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xe0000003, 0xffffffcb,
   3487                                31, t0, t1);
   3488    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0xfffb2342, 0x0000001f,
   3489                                2, t0, t1);
   3490    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x80000000, 0xfffffffe,
   3491                                1, t0, t1);
   3492    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x03fffffe, 0x00000c17,
   3493                                0, t0, t1);
   3494    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00000000, 0xc0000003,
   3495                                1, t0, t1);
   3496    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 13", 0x03fffffe, 0xfffd39d5,
   3497                                13, t0, t1);
   3498    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x0003192a, 0x0000d270,
   3499                                6, t0, t1);
   3500    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 21", 0x3ffffffe, 0x00000000,
   3501                                21, t0, t1);
   3502    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x80000000, 0x80000000,
   3503                                2, t0, t1);
   3504    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x1ffffff0, 0xff62154e,
   3505                                31, t0, t1);
   3506    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 13", 0x7fffffff, 0xffffff2e,
   3507                                13, t0, t1);
   3508    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xf8000001, 0x80000000,
   3509                                1, t0, t1);
   3510    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 27", 0x7fffffff, 0xe0000003,
   3511                                27, t0, t1);
   3512    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0xe000000f, 0x0000368b,
   3513                                15, t0, t1);
   3514    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0x7fffffff, 0x80000000,
   3515                                25, t0, t1);
   3516    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0x0000029c, 0x00001460,
   3517                                10, t0, t1);
   3518    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 19", 0xfdd559c5, 0x000acd42,
   3519                                19, t0, t1);
   3520    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x3ffffff8, 0x0081575f,
   3521                                3, t0, t1);
   3522    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xffffed07, 0x00000000,
   3523                                0, t0, t1);
   3524    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x7fffffff, 0x00000002,
   3525                                3, t0, t1);
   3526    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x3fffffe0, 0x07fffffe,
   3527                                6, t0, t1);
   3528    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x000a559a, 0x7fffffff,
   3529                                0, t0, t1);
   3530    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x1e4c379a, 0x00000ae6,
   3531                                1, t0, t1);
   3532    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00000001, 0xfffffff0,
   3533                                1, t0, t1);
   3534    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0x0000bcb1, 0xfffffffe,
   3535                                4, t0, t1);
   3536    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x002192fc, 0x7fffffff,
   3537                                1, t0, t1);
   3538    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00000000, 0xfffff7e4,
   3539                                1, t0, t1);
   3540    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffff0, 0x00000000,
   3541                                0, t0, t1);
   3542    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x7ffffff8, 0x80000007,
   3543                                2, t0, t1);
   3544    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xfffffffa, 0xfffffffa,
   3545                                31, t0, t1);
   3546    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffffa, 0x7fffffff,
   3547                                0, t0, t1);
   3548    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0x7ffffff0,
   3549                                0, t0, t1);
   3550    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x8000001f, 0x000000ff,
   3551                                31, t0, t1);
   3552    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 27", 0x00000000, 0x00000000,
   3553                                27, t0, t1);
   3554    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x00107408, 0x07fffffc,
   3555                                1, t0, t1);
   3556    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x7fffffff, 0x7fffffff,
   3557                                31, t0, t1);
   3558    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xaaaaaaaa, 0xffffe12e,
   3559                                31, t0, t1);
   3560    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 14", 0xf8000001, 0x00000000,
   3561                                14, t0, t1);
   3562    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x29fc2bb3, 0x80000000,
   3563                                0, t0, t1);
   3564    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 27", 0x000036c7, 0xfffffd48,
   3565                                27, t0, t1);
   3566    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xffffffba, 0x0f0f0f0f,
   3567                                0, t0, t1);
   3568    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0xffffc303, 0x80000005,
   3569                                30, t0, t1);
   3570    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0xffff0000, 0x00000003,
   3571                                7, t0, t1);
   3572    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 29", 0xf0000003, 0xfffffffe,
   3573                                29, t0, t1);
   3574    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00000005, 0xfff4bf84,
   3575                                31, t0, t1);
   3576    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfffcc6a5, 0x7fffffff,
   3577                                0, t0, t1);
   3578    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xe0000003, 0x66666666,
   3579                                0, t0, t1);
   3580    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x00000000, 0x00000827,
   3581                                3, t0, t1);
   3582    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0x80000000, 0x7fffffff,
   3583                                4, t0, t1);
   3584    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xe0000003, 0x80000000,
   3585                                0, t0, t1);
   3586    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0x80000000, 0x92492492,
   3587                                25, t0, t1);
   3588    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x000001f9, 0x1ce10bb3,
   3589                                0, t0, t1);
   3590    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 17", 0x00000000, 0x3ffffffc,
   3591                                17, t0, t1);
   3592    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 30", 0xfffffffe, 0x00001ca3,
   3593                                30, t0, t1);
   3594    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 27", 0x00000de7, 0xfff0eda7,
   3595                                27, t0, t1);
   3596    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x0ffffffc, 0x00000000,
   3597                                1, t0, t1);
   3598    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x01e63dae, 0x8000007f,
   3599                                1, t0, t1);
   3600    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x80000000, 0x000072d7,
   3601                                3, t0, t1);
   3602    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x000d0717, 0xfffffffa,
   3603                                31, t0, t1);
   3604    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  9", 0xfffffff8, 0x80000000,
   3605                                9, t0, t1);
   3606    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0x00000000,
   3607                                0, t0, t1);
   3608    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00006000, 0xf0000003,
   3609                                31, t0, t1);
   3610    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0x7fffffff, 0x07fffffc,
   3611                                7, t0, t1);
   3612    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0x7fffffff, 0x00000000,
   3613                                10, t0, t1);
   3614    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xffffffd8, 0x00000003,
   3615                                1, t0, t1);
   3616    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0x7fffffff, 0x7fffffff,
   3617                                10, t0, t1);
   3618    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x0000003f, 0x0000003f,
   3619                                0, t0, t1);
   3620    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0xfe67cb2a, 0x00000000,
   3621                                8, t0, t1);
   3622    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 11", 0x0000a3af, 0x7fffffff,
   3623                                11, t0, t1);
   3624    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x80000000, 0xe0000003,
   3625                                0, t0, t1);
   3626    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  9", 0x33333333, 0x00000007,
   3627                                9, t0, t1);
   3628    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 22", 0x00000022, 0xfffffff1,
   3629                                22, t0, t1);
   3630    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0xffffe940, 0x00a6984a,
   3631                                4, t0, t1);
   3632    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x80000000, 0x00000000,
   3633                                6, t0, t1);
   3634    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xffffe59b, 0x80000000,
   3635                                0, t0, t1);
   3636    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  5", 0x80000000, 0x80000000,
   3637                                5, t0, t1);
   3638    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 22", 0x00000000, 0x7fffffc0,
   3639                                22, t0, t1);
   3640    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 14", 0x00000334, 0x8000007f,
   3641                                14, t0, t1);
   3642    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffff0, 0xfffffffe,
   3643                                0, t0, t1);
   3644    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0xff00ff00, 0x00000000,
   3645                                4, t0, t1);
   3646    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 17", 0x3ffffffe, 0x80000000,
   3647                                17, t0, t1);
   3648    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0x80000000,
   3649                                31, t0, t1);
   3650    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0x2b9440fc, 0x00000001,
   3651                                8, t0, t1);
   3652    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0x00000002, 0xffffd5c8,
   3653                                10, t0, t1);
   3654    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfff138af, 0x80000000,
   3655                                0, t0, t1);
   3656    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 16", 0x00000000, 0x00000000,
   3657                                16, t0, t1);
   3658    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0x00000002, 0xe38e38e3,
   3659                                8, t0, t1);
   3660    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xf4911d04, 0x8000007f,
   3661                                0, t0, t1);
   3662    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffff0, 0x00000000,
   3663                                0, t0, t1);
   3664    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0xffe21573, 0xffffe109,
   3665                                8, t0, t1);
   3666    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7fffffff, 0xc890ef17,
   3667                                0, t0, t1);
   3668    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x80000001, 0xfffdb214,
   3669                                6, t0, t1);
   3670    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 28", 0xfee9b599, 0x00000000,
   3671                                28, t0, t1);
   3672    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xffffe956, 0x0000016c,
   3673                                1, t0, t1);
   3674    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  9", 0xffee2d5e, 0x00000000,
   3675                                9, t0, t1);
   3676    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xfffffffe, 0x00000000,
   3677                                0, t0, t1);
   3678    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0xfffff66c, 0xfffff66c,
   3679                                7, t0, t1);
   3680    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0x00000fb4, 0x80000000,
   3681                                15, t0, t1);
   3682    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x00000000, 0x7fffffff,
   3683                                3, t0, t1);
   3684    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000735, 0xffffffff,
   3685                                0, t0, t1);
   3686    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x80000000, 0x1ffffffc,
   3687                                3, t0, t1);
   3688    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 24", 0xffffb926, 0x00000000,
   3689                                24, t0, t1);
   3690    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00002b8d, 0x8000007f,
   3691                                0, t0, t1);
   3692    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x00000000, 0x00000017,
   3693                                2, t0, t1);
   3694    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x80000000, 0xff9a0952,
   3695                                0, t0, t1);
   3696    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x0f76e7cf, 0x0f76e7cf,
   3697                                0, t0, t1);
   3698    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x7fffffff, 0x1c71c71c,
   3699                                31, t0, t1);
   3700    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x80000001, 0xfffffffa,
   3701                                6, t0, t1);
   3702    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0xfffff747, 0x0000000f,
   3703                                10, t0, t1);
   3704    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0xe0000007, 0xe0000007,
   3705                                10, t0, t1);
   3706    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 27", 0xffff6c3a, 0xffffffed,
   3707                                27, t0, t1);
   3708    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 29", 0x7fffffff, 0x00008c98,
   3709                                29, t0, t1);
   3710    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x80000004, 0x00000000,
   3711                                0, t0, t1);
   3712    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000128, 0x0000003c,
   3713                                0, t0, t1);
   3714    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x00161769, 0x00de5fe1,
   3715                                3, t0, t1);
   3716    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 22", 0xffffff80, 0xf0000007,
   3717                                22, t0, t1);
   3718    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0x00000e92, 0x7fffffff,
   3719                                15, t0, t1);
   3720    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00000000, 0x0000ffff,
   3721                                31, t0, t1);
   3722    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xe0000001, 0x7fffffff,
   3723                                31, t0, t1);
   3724    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  6", 0x7fffffff, 0x00000000,
   3725                                6, t0, t1);
   3726    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xfffffe0c, 0xfffffe0c,
   3727                                31, t0, t1);
   3728    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x80000000, 0x00084488,
   3729                                1, t0, t1);
   3730    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x80000000, 0x7fffffff,
   3731                                2, t0, t1);
   3732    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000000, 0x80000000,
   3733                                31, t0, t1);
   3734    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 14", 0x00000000, 0xfffffffe,
   3735                                14, t0, t1);
   3736    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xc71c71c7, 0x00000000,
   3737                                31, t0, t1);
   3738    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0x80000000, 0x00000000,
   3739                                15, t0, t1);
   3740    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0x07fffffc, 0x0001594b,
   3741                                1, t0, t1);
   3742    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  8", 0x80000000, 0x80000000,
   3743                                8, t0, t1);
   3744    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x1ffffff0, 0x8000007f,
   3745                                0, t0, t1);
   3746    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0xffca0d15, 0x7ffffff8,
   3747                                2, t0, t1);
   3748    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xfffffffc, 0x00000000,
   3749                                31, t0, t1);
   3750    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  4", 0x00000002, 0x80000000,
   3751                                4, t0, t1);
   3752    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 22", 0x80000000, 0x00293c72,
   3753                                22, t0, t1);
   3754    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 10", 0xffffff58, 0xffffff80,
   3755                                10, t0, t1);
   3756    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  3", 0x00ff00ff, 0x80000000,
   3757                                3, t0, t1);
   3758    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0xffffff80, 0xf0f0f0f0,
   3759                                31, t0, t1);
   3760    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 19", 0x000037a4, 0x0012b63d,
   3761                                19, t0, t1);
   3762    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0x3ffffff8, 0xfffffff8,
   3763                                7, t0, t1);
   3764    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 29", 0x00000000, 0xffff4929,
   3765                                29, t0, t1);
   3766    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  1", 0xfffffff0, 0xf8000003,
   3767                                1, t0, t1);
   3768    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 24", 0x00000000, 0x7fffffff,
   3769                                24, t0, t1);
   3770    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0x00000007, 0x00000009,
   3771                                15, t0, t1);
   3772    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 15", 0xffffff9d, 0xffffffe0,
   3773                                15, t0, t1);
   3774    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 25", 0xfffe3d99, 0x80000000,
   3775                                25, t0, t1);
   3776    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  7", 0x00000000, 0x00000000,
   3777                                7, t0, t1);
   3778    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x80000005, 0xfef34c96,
   3779                                31, t0, t1);
   3780    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 29", 0xffffffe8, 0x7fffffff,
   3781                                29, t0, t1);
   3782    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 31", 0x00000000, 0x0ffffff8,
   3783                                31, t0, t1);
   3784    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x7ffffffe, 0xff0fceda,
   3785                                0, t0, t1);
   3786    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0x0002e398,
   3787                                0, t0, t1);
   3788    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0x00000000, 0x00000000,
   3789                                0, t0, t1);
   3790    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t3,  1", 0x045fb232, 0x00028632,
   3791                                1, t2, t3);
   3792    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t1,  4", 0xfabc3435, 0xfabc3421,
   3793                                4, t4, t1);
   3794    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t6, $t7, 17", 0x07654cb8, 0x734680bc,
   3795                                17, t6, t7);
   3796    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t5, $t3, 31", 0xf973437b, 0x80000000,
   3797                                31, t5, t3);
   3798    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t4,  8", 0x00ff0001, 0xff01ffff,
   3799                                8, t2, t4);
   3800    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t8, 11", 0x7fff7fff, 0x7fff7fff,
   3801                                11, t0, t8);
   3802    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t6, 13", 0x0000c420, 0x00000555,
   3803                                13, t4, t6);
   3804    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  2", 0x00000000, 0x00000000,
   3805                                2, t0, t1);
   3806    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t3,  6", 0x80000000, 0x80000000,
   3807                                6, t2, t3);
   3808    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t1,  7", 0xaaaaaaaa, 0x55555555,
   3809                                7, t4, t1);
   3810    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t6, $t7, 19", 0x00000018, 0xffff2435,
   3811                                19, t6, t7);
   3812    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t5, $t3, 31", 0xbabababa, 0xabababab,
   3813                                31, t5, t3);
   3814    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t4,  4", 0xf0f0f0f0, 0xfc79b4d2,
   3815                                4, t2, t4);
   3816    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t8, 12", 0xfbde3976, 0x00000000,
   3817                                12, t0, t8);
   3818    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t6, 10", 0x23534870, 0x00354565,
   3819                                10, t4, t6);
   3820    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1, 20", 0x980b7cde, 0x00086755,
   3821                                20, t0, t1);
   3822    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t3, 21", 0x00000018, 0x8f8f8f8f,
   3823                                21, t2, t3);
   3824    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t1, 24", 0x92784656, 0xeeeeeeee,
   3825                                24, t4, t1);
   3826    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t6, $t7, 27", 0xcacacaca, 0x1bdbdbdb,
   3827                                27, t6, t7);
   3828    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t5, $t3,  1", 0xbacabaca, 0xdecadeca,
   3829                                1, t5, t3);
   3830    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t4, 18", 0x12fadeb4, 0x93474bde,
   3831                                18, t2, t4);
   3832    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t8, 10", 0x7c000790, 0xfc0007ff,
   3833                                10, t0, t8);
   3834    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t6, 16", 0xffffffff, 0xffffffff,
   3835                                16, t4, t6);
   3836    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t1,  0", 0xf2f4df1f, 0xcb4ab48f,
   3837                                0, t0, t1);
   3838    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t3, 14", 0x435f909a, 0xaf8f7e18,
   3839                                14, t2, t3);
   3840    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t1,  5", 0x2106ba5f, 0x87df4510,
   3841                                5, t4, t1);
   3842    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t6, $t7,  7", 0x246a6376, 0xabf4e8e1,
   3843                                7, t6, t7);
   3844    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t5, $t3,  9", 0x1046a1a3, 0xf4c0eeac,
   3845                                9, t5, t3);
   3846    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t2, $t4,  3", 0x638ca515, 0x006a54f2,
   3847                                3, t2, t4);
   3848    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t0, $t8, 15", 0xf63e7a9d, 0x79f74493,
   3849                                15, t0, t8);
   3850    TESTDSPINST_RT_RS_SA_NODSPC("prepend $t4, $t6, 11", 0xbd6845cd, 0x9c09e313,
   3851                                11, t4, t6);
   3852 
   3853    printf("-------- SHRA.QB --------\n");
   3854    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
   3855    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t3, 2", 0x00028632, 2, t2, t3);
   3856    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t1, 3", 0xfabc3421, 3, t4, t1);
   3857    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t6, $t7, 4", 0x734680bc, 4, t6, t7);
   3858    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t5, $t3, 0", 0x80000000, 0, t5, t3);
   3859    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t4, 7", 0xff01ffff, 7, t2, t4);
   3860    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t8, 7", 0x7fff7fff, 7, t0, t8);
   3861    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t6, 0", 0x00000555, 0, t4, t6);
   3862    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
   3863    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t3, 2", 0x80000000, 2, t2, t3);
   3864    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t1, 3", 0x55555555, 3, t4, t1);
   3865    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t6, $t7, 4", 0xffff2435, 4, t6, t7);
   3866    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t5, $t3, 5", 0xabababab, 5, t5, t3);
   3867    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t4, 6", 0xfc79b4d2, 6, t2, t4);
   3868    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t8, 7", 0x00000000, 7, t0, t8);
   3869    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t6, 0", 0x00354565, 0, t4, t6);
   3870    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t1, 1", 0x00086755, 1, t0, t1);
   3871    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t3, 2", 0x8f8f8f8f, 2, t2, t3);
   3872    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t1, 3", 0xeeeeeeee, 3, t4, t1);
   3873    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t6, $t7, 4", 0x1bdbdbdb, 4, t6, t7);
   3874    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t5, $t3, 5", 0xdecadeca, 5, t5, t3);
   3875    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t4, 6", 0x93474bde, 6, t2, t4);
   3876    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t8, 7", 0xfc0007ff, 7, t0, t8);
   3877    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t6, 0", 0xffffffff, 0, t4, t6);
   3878    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t1, 3", 0xcb4ab48f, 3, t0, t1);
   3879    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t3, 4", 0xaf8f7e18, 4, t2, t3);
   3880    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t1, 0", 0x87df4510, 0, t4, t1);
   3881    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t6, $t7, 7", 0xabf4e8e1, 7, t6, t7);
   3882    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t5, $t3, 7", 0xf4c0eeac, 7, t5, t3);
   3883    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t2, $t4, 5", 0x006a54f2, 5, t2, t4);
   3884    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t0, $t8, 1", 0x79f74493, 1, t0, t8);
   3885    TESTDSPINST_RD_RT_SA_NODSPC("shra.qb $t4, $t6, 2", 0x9c09e313, 2, t4, t6);
   3886 
   3887    printf("-------- SHRA_R.QB --------\n");
   3888    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
   3889    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t3, 2", 0x00028632, 2, t2, t3);
   3890    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t1, 3", 0xfabc3421, 3, t4, t1);
   3891    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t6, $t7, 4", 0x734680bc, 4, t6, t7);
   3892    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t5, $t3, 0", 0x80000000, 0, t5, t3);
   3893    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t4, 7", 0xff01ffff, 7, t2, t4);
   3894    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t8, 7", 0x7fff7fff, 7, t0, t8);
   3895    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t6, 0", 0x00000555, 0, t4, t6);
   3896    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t1, 1", 0x00000000, 1, t0, t1);
   3897    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t3, 2", 0x80000000, 2, t2, t3);
   3898    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t1, 3", 0x55555555, 3, t4, t1);
   3899    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t6, $t7, 4", 0xffff2435, 4, t6, t7);
   3900    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t5, $t3, 5", 0xabababab, 5, t5, t3);
   3901    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t4, 6", 0xfc79b4d2, 6, t2, t4);
   3902    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t8, 7", 0x00000000, 7, t0, t8);
   3903    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t6, 0", 0x00354565, 0, t4, t6);
   3904    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t1, 1", 0x00086755, 1, t0, t1);
   3905    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t3, 2", 0x8f8f8f8f, 2, t2, t3);
   3906    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t1, 3", 0xeeeeeeee, 3, t4, t1);
   3907    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t6, $t7, 4", 0x1bdbdbdb, 4, t6, t7);
   3908    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t5, $t3, 5", 0xdecadeca, 5, t5, t3);
   3909    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t4, 6", 0x93474bde, 6, t2, t4);
   3910    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t8, 7", 0xfc0007ff, 7, t0, t8);
   3911    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t6, 0", 0xffffffff, 0, t4, t6);
   3912    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t1, 3", 0xcb4ab48f, 3, t0, t1);
   3913    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t3, 4", 0xaf8f7e18, 4, t2, t3);
   3914    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t1, 0", 0x87df4510, 0, t4, t1);
   3915    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t6, $t7, 7", 0xabf4e8e1, 7, t6, t7);
   3916    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t5, $t3, 7", 0xf4c0eeac, 7, t5, t3);
   3917    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t2, $t4, 5", 0x006a54f2, 5, t2, t4);
   3918    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t0, $t8, 1", 0x79f74493, 1, t0, t8);
   3919    TESTDSPINST_RD_RT_SA_NODSPC("shra_r.qb $t4, $t6, 2", 0x9c09e313, 2, t4, t6);
   3920 
   3921    printf("-------- SHRAV.QB --------\n");
   3922    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x3277ffff, 0x00000001);
   3923    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000005, 0x73741802);
   3924    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000000, 0x80003403);
   3925    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x73468004);
   3926    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x80000000);
   3927    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0xffffff07);
   3928    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0x7fff7f07);
   3929    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000005, 0x00000505);
   3930    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x00000000);
   3931    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80008000, 0x80000000);
   3932    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x55555555);
   3933    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80008000, 0xffff2434);
   3934    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffff4387, 0xabababa3);
   3935    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80008000, 0xfc79b4d2);
   3936    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0x00000000);
   3937    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x43871234, 0x00354561);
   3938    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x1234ffff, 0x00086755);
   3939    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x8f8f8f8f);
   3940    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0xeeeeeeee);
   3941    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffff6543, 0x1bdbdbdb);
   3942    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffffffff, 0xdecadeca);
   3943    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffff4387, 0x93474bde);
   3944    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387cccc, 0xfc0007ff);
   3945    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0xffffffff);
   3946    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffffffff, 0xdecadeca);
   3947    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0xbacabaca);
   3948    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80008000, 0x3545ff80);
   3949    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0x734680bc);
   3950    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0xc4dbfe20);
   3951    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80008000, 0x00000000);
   3952    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x4387ffff, 0x55555555);
   3953    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffff4387, 0xad80bce4);
   3954    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x7fffffff, 0x00000000);
   3955    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0x00000000);
   3956    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xfabc3435, 0xfabc3421);
   3957    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x07654cb8, 0x734680bc);
   3958    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xf973437b, 0x80000000);
   3959    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00ff0001, 0xff01ffff);
   3960    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x7fff7004, 0x7fff7fff);
   3961    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x0000c420, 0x00000555);
   3962    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000000, 0x00000000);
   3963    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x80000000, 0x80000000);
   3964    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xaaaaaaaa, 0x55555555);
   3965    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000018, 0xffff2435);
   3966    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xbabababa, 0xabababab);
   3967    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xf0f0f0f0, 0xfc79b4d2);
   3968    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xfbde3976, 0x00000000);
   3969    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x23534870, 0x00354565);
   3970    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x980b7cde, 0x00086755);
   3971    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x00000018, 0x8f8f8f8f);
   3972    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x92784656, 0xeeeeeeee);
   3973    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xcacacaca, 0x1bdbdbdb);
   3974    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xbacabaca, 0xdecadeca);
   3975    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x12fadeb4, 0x93474bde);
   3976    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x7c000790, 0xfc0007ff);
   3977    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xffffffff, 0xffffffff);
   3978    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xf2f4df1f, 0xcb4ab48f);
   3979    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x435f909a, 0xaf8f7e18);
   3980    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x2106ba5f, 0x87df4510);
   3981    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x246a6376, 0xabf4e8e1);
   3982    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x1046a1a3, 0xf4c0eeac);
   3983    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0x638ca515, 0x006a54f2);
   3984    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xf63e7a9d, 0x79f74493);
   3985    TESTDSPINST_RD_RT_RS_NODSPC("shrav.qb", 0xbd6845cd, 0x9c09e313);
   3986 
   3987    printf("-------- SHRAV_R.QB --------\n");
   3988    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x3277ffff, 0x00000001);
   3989    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000005, 0x73741802);
   3990    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000000, 0x80003403);
   3991    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x73468004);
   3992    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x80000000);
   3993    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0xffffff07);
   3994    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0x7fff7f07);
   3995    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000005, 0x00000505);
   3996    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x00000000);
   3997    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80008000, 0x80000000);
   3998    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x55555555);
   3999    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80008000, 0xffff2434);
   4000    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffff4387, 0xabababa3);
   4001    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80008000, 0xfc79b4d2);
   4002    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0x00000000);
   4003    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x43871234, 0x00354561);
   4004    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x1234ffff, 0x00086755);
   4005    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x8f8f8f8f);
   4006    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0xeeeeeeee);
   4007    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffff6543, 0x1bdbdbdb);
   4008    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffffffff, 0xdecadeca);
   4009    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffff4387, 0x93474bde);
   4010    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387cccc, 0xfc0007ff);
   4011    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0xffffffff);
   4012    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffffffff, 0xdecadeca);
   4013    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0xbacabaca);
   4014    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80008000, 0x3545ff80);
   4015    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0x734680bc);
   4016    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0xc4dbfe20);
   4017    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80008000, 0x00000000);
   4018    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x4387ffff, 0x55555555);
   4019    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffff4387, 0xad80bce4);
   4020    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x7fffffff, 0x00000000);
   4021    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0x00000000);
   4022    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xfabc3435, 0xfabc3421);
   4023    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x07654cb8, 0x734680bc);
   4024    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xf973437b, 0x80000000);
   4025    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00ff0001, 0xff01ffff);
   4026    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x7fff7004, 0x7fff7fff);
   4027    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x0000c420, 0x00000555);
   4028    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000000, 0x00000000);
   4029    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x80000000, 0x80000000);
   4030    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xaaaaaaaa, 0x55555555);
   4031    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000018, 0xffff2435);
   4032    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xbabababa, 0xabababab);
   4033    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xf0f0f0f0, 0xfc79b4d2);
   4034    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xfbde3976, 0x00000000);
   4035    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x23534870, 0x00354565);
   4036    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x980b7cde, 0x00086755);
   4037    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x00000018, 0x8f8f8f8f);
   4038    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x92784656, 0xeeeeeeee);
   4039    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xcacacaca, 0x1bdbdbdb);
   4040    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xbacabaca, 0xdecadeca);
   4041    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x12fadeb4, 0x93474bde);
   4042    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x7c000790, 0xfc0007ff);
   4043    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xffffffff, 0xffffffff);
   4044    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xf2f4df1f, 0xcb4ab48f);
   4045    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x435f909a, 0xaf8f7e18);
   4046    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x2106ba5f, 0x87df4510);
   4047    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x246a6376, 0xabf4e8e1);
   4048    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x1046a1a3, 0xf4c0eeac);
   4049    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0x638ca515, 0x006a54f2);
   4050    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xf63e7a9d, 0x79f74493);
   4051    TESTDSPINST_RD_RT_RS_NODSPC("shrav_r.qb", 0xbd6845cd, 0x9c09e313);
   4052 
   4053    printf("-------- SHRL.PH --------\n");
   4054    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t1,  0", 0x00000000,  0, t0, t1);
   4055    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t3,  1", 0x00028632,  1, t2, t3);
   4056    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t1,  2", 0xfabc3421,  2, t4, t1);
   4057    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t6, $t7,  3", 0x734680bc,  3, t6, t7);
   4058    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t5, $t3,  4", 0x80000000,  4, t5, t3);
   4059    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t4,  5", 0xff01ffff,  5, t2, t4);
   4060    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t8,  6", 0x7fff7fff,  6, t0, t8);
   4061    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t6,  7", 0x00000555,  7, t4, t6);
   4062    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t1,  8", 0x00000000,  8, t0, t1);
   4063    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t3,  9", 0x80000000,  9, t2, t3);
   4064    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t1, 10", 0x55555555, 10, t4, t1);
   4065    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t6, $t7, 11", 0xffff2435, 11, t6, t7);
   4066    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t5, $t3, 12", 0xabababab, 12, t5, t3);
   4067    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t4, 13", 0xfc79b4d2, 13, t2, t4);
   4068    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t8, 14", 0x00000000, 14, t0, t8);
   4069    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t6, 15", 0x00354565, 15, t4, t6);
   4070    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t1,  0", 0x00086755,  0, t0, t1);
   4071    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t3,  1", 0x8f8f8f8f,  1, t2, t3);
   4072    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t1,  2", 0xeeeeeeee,  2, t4, t1);
   4073    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t6, $t7,  3", 0x1bdbdbdb,  3, t6, t7);
   4074    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t5, $t3,  4", 0xdecadeca,  4, t5, t3);
   4075    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t4,  5", 0x93474bde,  5, t2, t4);
   4076    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t8,  6", 0xfc0007ff,  6, t0, t8);
   4077    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t6,  7", 0xffffffff,  7, t4, t6);
   4078    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t1,  8", 0xcb4ab48f,  8, t0, t1);
   4079    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t3,  9", 0xaf8f7e18,  9, t2, t3);
   4080    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t1, 10", 0x87df4510, 10, t4, t1);
   4081    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t6, $t7, 11", 0xabf4e8e1, 11, t6, t7);
   4082    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t5, $t3, 12", 0xf4c0eeac, 12, t5, t3);
   4083    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t2, $t4, 13", 0x006a54f2, 13, t2, t4);
   4084    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t0, $t8, 14", 0x79f74493, 14, t0, t8);
   4085    TESTDSPINST_RD_RT_SA_NODSPC("shrl.ph $t4, $t6, 15", 0x9c09e313, 15, t4, t6);
   4086 
   4087    printf("-------- SHRLV.PH --------\n");
   4088    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4089                                t0, t1, t2);
   4090    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
   4091                                t2, t3, t4);
   4092    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4093                                t4, t1, t5);
   4094    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4095                                t6, t7, t3);
   4096    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4097                                t5, t3, t2);
   4098    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4099                                t2, t4, t8);
   4100    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4101                                t0, t8, t0);
   4102    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4103                                t4, t6, t1);
   4104    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   4105                                t0, t1, t2);
   4106    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   4107                                t2, t3, t4);
   4108    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4109                                t4, t1, t5);
   4110    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4111                                t6, t7, t3);
   4112    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4113                                t5, t3, t2);
   4114    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4115                                t2, t4, t8);
   4116    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4117                                t0, t8, t0);
   4118    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   4119                                t4, t6, t1);
   4120    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4121                                t0, t1, t2);
   4122    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4123                                t2, t3, t4);
   4124    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4125                                t4, t1, t5);
   4126    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4127                                t6, t7, t3);
   4128    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4129                                t5, t3, t2);
   4130    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4131                                t2, t4, t8);
   4132    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4133                                t0, t8, t0);
   4134    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4135                                t4, t6, t1);
   4136    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4137                                t0, t1, t2);
   4138    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4139                                t2, t3, t4);
   4140    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4141                                t4, t1, t5);
   4142    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4143                                t6, t7, t3);
   4144    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4145                                t5, t3, t2);
   4146    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4147                                t2, t4, t8);
   4148    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4149                                t0, t8, t0);
   4150    TESTDSPINST_RD_RS_RT_NODSPC("shrlv.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4151                                t4, t6, t1);
   4152 
   4153    printf("-------- SUBQH.PH --------\n");
   4154    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4155                                t0, t1, t2);
   4156    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
   4157                                t2, t3, t4);
   4158    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4159                                t4, t1, t5);
   4160    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4161                                t6, t7, t3);
   4162    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4163                                t5, t3, t2);
   4164    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4165                                t2, t4, t8);
   4166    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4167                                t0, t8, t0);
   4168    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4169                                t4, t6, t1);
   4170    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   4171                                t0, t1, t2);
   4172    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   4173                                t2, t3, t4);
   4174    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4175                                t4, t1, t5);
   4176    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4177                                t6, t7, t3);
   4178    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4179                                t5, t3, t2);
   4180    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4181                                t2, t4, t8);
   4182    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4183                                t0, t8, t0);
   4184    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   4185                                t4, t6, t1);
   4186    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4187                                t0, t1, t2);
   4188    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4189                                t2, t3, t4);
   4190    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4191                                t4, t1, t5);
   4192    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4193                                t6, t7, t3);
   4194    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4195                                t5, t3, t2);
   4196    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4197                                t2, t4, t8);
   4198    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4199                                t0, t8, t0);
   4200    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4201                                t4, t6, t1);
   4202    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4203                                t0, t1, t2);
   4204    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4205                                t2, t3, t4);
   4206    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4207                                t4, t1, t5);
   4208    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4209                                t6, t7, t3);
   4210    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4211                                t5, t3, t2);
   4212    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4213                                t2, t4, t8);
   4214    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4215                                t0, t8, t0);
   4216    TESTDSPINST_RD_RS_RT_NODSPC("subqh.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4217                                t4, t6, t1);
   4218 
   4219    printf("-------- SUBQH_R.PH --------\n");
   4220    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t1, $t2", 0x7fffffff,
   4221                                0x00000000, t0, t1, t2);
   4222    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t3, $t4", 0x80000000,
   4223                                0x00000000, t2, t3, t4);
   4224    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t1, $t5", 0xfabc3435,
   4225                                0xfabc3421, t4, t1, t5);
   4226    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t6, $t7, $t3", 0x07654cb8,
   4227                                0x734680bc, t6, t7, t3);
   4228    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t5, $t3, $t2", 0xf973437b,
   4229                                0x80000000, t5, t3, t2);
   4230    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t4, $t8", 0x00ff0001,
   4231                                0xff01ffff, t2, t4, t8);
   4232    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t8, $t0", 0x7fff7004,
   4233                                0x7fff7fff, t0, t8, t0);
   4234    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t6, $t1", 0x0000c420,
   4235                                0x00000555, t4, t6, t1);
   4236    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t1, $t2", 0x00000000,
   4237                                0x00000000, t0, t1, t2);
   4238    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t3, $t4", 0x80000000,
   4239                                0x80000000, t2, t3, t4);
   4240    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t1, $t5", 0xaaaaaaaa,
   4241                                0x55555555, t4, t1, t5);
   4242    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t6, $t7, $t3", 0x00000018,
   4243                                0xffff2435, t6, t7, t3);
   4244    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t5, $t3, $t2", 0xbabababa,
   4245                                0xabababab, t5, t3, t2);
   4246    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t4, $t8", 0xf0f0f0f0,
   4247                                0xfc79b4d2, t2, t4, t8);
   4248    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t8, $t0", 0xfbde3976,
   4249                                0x00000000, t0, t8, t0);
   4250    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t6, $t1", 0x23534870,
   4251                                0x00354565, t4, t6, t1);
   4252    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t1, $t2", 0x980b7cde,
   4253                                0x00086755, t0, t1, t2);
   4254    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t3, $t4", 0x00000018,
   4255                                0x8f8f8f8f, t2, t3, t4);
   4256    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t1, $t5", 0x92784656,
   4257                                0xeeeeeeee, t4, t1, t5);
   4258    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t6, $t7, $t3", 0xcacacaca,
   4259                                0x1bdbdbdb, t6, t7, t3);
   4260    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t5, $t3, $t2", 0xbacabaca,
   4261                                0xdecadeca, t5, t3, t2);
   4262    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t4, $t8", 0x12fadeb4,
   4263                                0x93474bde, t2, t4, t8);
   4264    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t8, $t0", 0x7c000790,
   4265                                0xfc0007ff, t0, t8, t0);
   4266    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t6, $t1", 0xffffffff,
   4267                                0xffffffff, t4, t6, t1);
   4268    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t1, $t2", 0xf2f4df1f,
   4269                                0xcb4ab48f, t0, t1, t2);
   4270    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t3, $t4", 0x435f909a,
   4271                                0xaf8f7e18, t2, t3, t4);
   4272    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t1, $t5", 0x2106ba5f,
   4273                                0x87df4510, t4, t1, t5);
   4274    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t6, $t7, $t3", 0x246a6376,
   4275                                0xabf4e8e1, t6, t7, t3);
   4276    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t5, $t3, $t2", 0x1046a1a3,
   4277                                0xf4c0eeac, t5, t3, t2);
   4278    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t2, $t4, $t8", 0x638ca515,
   4279                                0x006a54f2, t2, t4, t8);
   4280    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t0, $t8, $t0", 0xf63e7a9d,
   4281                                0x79f74493, t0, t8, t0);
   4282    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.ph $t4, $t6, $t1", 0xbd6845cd,
   4283                                0x9c09e313, t4, t6, t1);
   4284 
   4285    printf("-------- SUBQH.W --------\n");
   4286    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4287                                t0, t1, t2);
   4288    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t3, $t4", 0x80000000, 0x00000000,
   4289                                t2, t3, t4);
   4290    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4291                                t4, t1, t5);
   4292    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4293                                t6, t7, t3);
   4294    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4295                                t5, t3, t2);
   4296    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4297                                t2, t4, t8);
   4298    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4299                                t0, t8, t0);
   4300    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4301                                t4, t6, t1);
   4302    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t1, $t2", 0x00000000, 0x00000000,
   4303                                t0, t1, t2);
   4304    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t3, $t4", 0x80000000, 0x80000000,
   4305                                t2, t3, t4);
   4306    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4307                                t4, t1, t5);
   4308    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4309                                t6, t7, t3);
   4310    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4311                                t5, t3, t2);
   4312    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4313                                t2, t4, t8);
   4314    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4315                                t0, t8, t0);
   4316    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t6, $t1", 0x23534870, 0x00354565,
   4317                                t4, t6, t1);
   4318    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4319                                t0, t1, t2);
   4320    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4321                                t2, t3, t4);
   4322    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4323                                t4, t1, t5);
   4324    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4325                                t6, t7, t3);
   4326    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4327                                t5, t3, t2);
   4328    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4329                                t2, t4, t8);
   4330    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4331                                t0, t8, t0);
   4332    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4333                                t4, t6, t1);
   4334    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4335                                t0, t1, t2);
   4336    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4337                                t2, t3, t4);
   4338    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4339                                t4, t1, t5);
   4340    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4341                                t6, t7, t3);
   4342    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4343                                t5, t3, t2);
   4344    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4345                                t2, t4, t8);
   4346    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4347                                t0, t8, t0);
   4348    TESTDSPINST_RD_RS_RT_NODSPC("subqh.w $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4349                                t4, t6, t1);
   4350 
   4351    printf("-------- SUBQH_R.W --------\n");
   4352    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t1, $t2", 0x7fffffff,
   4353                                0x00000000, t0, t1, t2);
   4354    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t3, $t4", 0x80000000,
   4355                                0x00000000, t2, t3, t4);
   4356    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t1, $t5", 0xfabc3435,
   4357                                0xfabc3421, t4, t1, t5);
   4358    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t6, $t7, $t3", 0x07654cb8,
   4359                                0x734680bc, t6, t7, t3);
   4360    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t5, $t3, $t2", 0xf973437b,
   4361                                0x80000000, t5, t3, t2);
   4362    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t4, $t8", 0x00ff0001,
   4363                                0xff01ffff, t2, t4, t8);
   4364    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t8, $t0", 0x7fff7004,
   4365                                0x7fff7fff, t0, t8, t0);
   4366    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t6, $t1", 0x0000c420,
   4367                                0x00000555, t4, t6, t1);
   4368    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t1, $t2", 0x00000000,
   4369                                0x00000000, t0, t1, t2);
   4370    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t3, $t4", 0x80000000,
   4371                                0x80000000, t2, t3, t4);
   4372    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t1, $t5", 0xaaaaaaaa,
   4373                                0x55555555, t4, t1, t5);
   4374    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t6, $t7, $t3", 0x00000018,
   4375                                0xffff2435, t6, t7, t3);
   4376    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t5, $t3, $t2", 0xbabababa,
   4377                                0xabababab, t5, t3, t2);
   4378    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t4, $t8", 0xf0f0f0f0,
   4379                                0xfc79b4d2, t2, t4, t8);
   4380    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t8, $t0", 0xfbde3976,
   4381                                0x00000000, t0, t8, t0);
   4382    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t6, $t1", 0x23534870,
   4383                                0x00354565, t4, t6, t1);
   4384    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t1, $t2", 0x980b7cde,
   4385                                0x00086755, t0, t1, t2);
   4386    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t3, $t4", 0x00000018,
   4387                                0x8f8f8f8f, t2, t3, t4);
   4388    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t1, $t5", 0x92784656,
   4389                                0xeeeeeeee, t4, t1, t5);
   4390    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t6, $t7, $t3", 0xcacacaca,
   4391                                0x1bdbdbdb, t6, t7, t3);
   4392    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t5, $t3, $t2", 0xbacabaca,
   4393                                0xdecadeca, t5, t3, t2);
   4394    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t4, $t8", 0x12fadeb4,
   4395                                0x93474bde, t2, t4, t8);
   4396    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t8, $t0", 0x7c000790,
   4397                                0xfc0007ff, t0, t8, t0);
   4398    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t6, $t1", 0xffffffff,
   4399                                0xffffffff, t4, t6, t1);
   4400    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t1, $t2", 0xf2f4df1f,
   4401                                0xcb4ab48f, t0, t1, t2);
   4402    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t3, $t4", 0x435f909a,
   4403                                0xaf8f7e18, t2, t3, t4);
   4404    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t1, $t5", 0x2106ba5f,
   4405                                0x87df4510, t4, t1, t5);
   4406    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t6, $t7, $t3", 0x246a6376,
   4407                                0xabf4e8e1, t6, t7, t3);
   4408    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t5, $t3, $t2", 0x1046a1a3,
   4409                                0xf4c0eeac, t5, t3, t2);
   4410    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t2, $t4, $t8", 0x638ca515,
   4411                                0x006a54f2, t2, t4, t8);
   4412    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t0, $t8, $t0", 0xf63e7a9d,
   4413                                0x79f74493, t0, t8, t0);
   4414    TESTDSPINST_RD_RS_RT_NODSPC("subqh_r.w $t4, $t6, $t1", 0xbd6845cd,
   4415                                0x9c09e313, t4, t6, t1);
   4416 
   4417    printf("-------- SUBU.PH --------\n");
   4418    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4419                              t0, t1, t2);
   4420    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
   4421                              t2, t3, t4);
   4422    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4423                              t4, t1, t5);
   4424    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4425                              t6, t7, t3);
   4426    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4427                              t5, t3, t2);
   4428    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4429                              t2, t4, t8);
   4430    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4431                              t0, t8, t0);
   4432    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4433                              t4, t6, t1);
   4434    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   4435                              t0, t1, t2);
   4436    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   4437                              t2, t3, t4);
   4438    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4439                              t4, t1, t5);
   4440    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4441                              t6, t7, t3);
   4442    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4443                              t5, t3, t2);
   4444    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4445                              t2, t4, t8);
   4446    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4447                              t0, t8, t0);
   4448    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   4449                              t4, t6, t1);
   4450    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4451                              t0, t1, t2);
   4452    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4453                              t2, t3, t4);
   4454    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4455                              t4, t1, t5);
   4456    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4457                              t6, t7, t3);
   4458    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4459                              t5, t3, t2);
   4460    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4461                              t2, t4, t8);
   4462    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4463                              t0, t8, t0);
   4464    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4465                              t4, t6, t1);
   4466    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4467                              t0, t1, t2);
   4468    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4469                              t2, t3, t4);
   4470    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4471                              t4, t1, t5);
   4472    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4473                              t6, t7, t3);
   4474    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4475                              t5, t3, t2);
   4476    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4477                              t2, t4, t8);
   4478    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4479                              t0, t8, t0);
   4480    TESTDSPINST_RD_RS_RT_DSPC("subu.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4481                              t4, t6, t1);
   4482 
   4483    printf("-------- SUBU_S.PH --------\n");
   4484    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4485                              t0, t1, t2);
   4486    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t3, $t4", 0x80000000, 0x00000000,
   4487                              t2, t3, t4);
   4488    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4489                              t4, t1, t5);
   4490    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4491                              t6, t7, t3);
   4492    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4493                              t5, t3, t2);
   4494    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4495                              t2, t4, t8);
   4496    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4497                              t0, t8, t0);
   4498    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4499                              t4, t6, t1);
   4500    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t1, $t2", 0x00000000, 0x00000000,
   4501                              t0, t1, t2);
   4502    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t3, $t4", 0x80000000, 0x80000000,
   4503                              t2, t3, t4);
   4504    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4505                              t4, t1, t5);
   4506    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4507                              t6, t7, t3);
   4508    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4509                              t5, t3, t2);
   4510    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4511                              t2, t4, t8);
   4512    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4513                              t0, t8, t0);
   4514    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t6, $t1", 0x23534870, 0x00354565,
   4515                              t4, t6, t1);
   4516    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4517                              t0, t1, t2);
   4518    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4519                              t2, t3, t4);
   4520    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4521                              t4, t1, t5);
   4522    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4523                              t6, t7, t3);
   4524    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4525                              t5, t3, t2);
   4526    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4527                              t2, t4, t8);
   4528    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4529                              t0, t8, t0);
   4530    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4531                              t4, t6, t1);
   4532    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4533                              t0, t1, t2);
   4534    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4535                              t2, t3, t4);
   4536    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4537                              t4, t1, t5);
   4538    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4539                              t6, t7, t3);
   4540    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4541                              t5, t3, t2);
   4542    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4543                              t2, t4, t8);
   4544    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4545                              t0, t8, t0);
   4546    TESTDSPINST_RD_RS_RT_DSPC("subu_s.ph $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4547                              t4, t6, t1);
   4548 
   4549    printf("-------- SUBUH.QB --------\n");
   4550    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t1, $t2", 0x7fffffff, 0x00000000,
   4551                                t0, t1, t2);
   4552    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t3, $t4", 0x80000000, 0x00000000,
   4553                                t2, t3, t4);
   4554    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t1, $t5", 0xfabc3435, 0xfabc3421,
   4555                                t4, t1, t5);
   4556    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t6, $t7, $t3", 0x07654cb8, 0x734680bc,
   4557                                t6, t7, t3);
   4558    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t5, $t3, $t2", 0xf973437b, 0x80000000,
   4559                                t5, t3, t2);
   4560    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t4, $t8", 0x00ff0001, 0xff01ffff,
   4561                                t2, t4, t8);
   4562    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t8, $t0", 0x7fff7004, 0x7fff7fff,
   4563                                t0, t8, t0);
   4564    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t6, $t1", 0x0000c420, 0x00000555,
   4565                                t4, t6, t1);
   4566    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t1, $t2", 0x00000000, 0x00000000,
   4567                                t0, t1, t2);
   4568    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t3, $t4", 0x80000000, 0x80000000,
   4569                                t2, t3, t4);
   4570    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t1, $t5", 0xaaaaaaaa, 0x55555555,
   4571                                t4, t1, t5);
   4572    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t6, $t7, $t3", 0x00000018, 0xffff2435,
   4573                                t6, t7, t3);
   4574    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t5, $t3, $t2", 0xbabababa, 0xabababab,
   4575                                t5, t3, t2);
   4576    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t4, $t8", 0xf0f0f0f0, 0xfc79b4d2,
   4577                                t2, t4, t8);
   4578    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t8, $t0", 0xfbde3976, 0x00000000,
   4579                                t0, t8, t0);
   4580    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t6, $t1", 0x23534870, 0x00354565,
   4581                                t4, t6, t1);
   4582    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t1, $t2", 0x980b7cde, 0x00086755,
   4583                                t0, t1, t2);
   4584    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t3, $t4", 0x00000018, 0x8f8f8f8f,
   4585                                t2, t3, t4);
   4586    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t1, $t5", 0x92784656, 0xeeeeeeee,
   4587                                t4, t1, t5);
   4588    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t6, $t7, $t3", 0xcacacaca, 0x1bdbdbdb,
   4589                                t6, t7, t3);
   4590    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t5, $t3, $t2", 0xbacabaca, 0xdecadeca,
   4591                                t5, t3, t2);
   4592    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t4, $t8", 0x12fadeb4, 0x93474bde,
   4593                                t2, t4, t8);
   4594    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t8, $t0", 0x7c000790, 0xfc0007ff,
   4595                                t0, t8, t0);
   4596    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t6, $t1", 0xffffffff, 0xffffffff,
   4597                                t4, t6, t1);
   4598    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t1, $t2", 0xf2f4df1f, 0xcb4ab48f,
   4599                                t0, t1, t2);
   4600    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t3, $t4", 0x435f909a, 0xaf8f7e18,
   4601                                t2, t3, t4);
   4602    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t1, $t5", 0x2106ba5f, 0x87df4510,
   4603                                t4, t1, t5);
   4604    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t6, $t7, $t3", 0x246a6376, 0xabf4e8e1,
   4605                                t6, t7, t3);
   4606    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t5, $t3, $t2", 0x1046a1a3, 0xf4c0eeac,
   4607                                t5, t3, t2);
   4608    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t2, $t4, $t8", 0x638ca515, 0x006a54f2,
   4609                                t2, t4, t8);
   4610    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t0, $t8, $t0", 0xf63e7a9d, 0x79f74493,
   4611                                t0, t8, t0);
   4612    TESTDSPINST_RD_RS_RT_NODSPC("subuh.qb $t4, $t6, $t1", 0xbd6845cd, 0x9c09e313,
   4613                                t4, t6, t1);
   4614 
   4615    printf("-------- SUBUH_R.QB --------\n");
   4616    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t1, $t2", 0x7fffffff,
   4617                                0x00000000, t0, t1, t2);
   4618    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t3, $t4", 0x80000000,
   4619                                0x00000000, t2, t3, t4);
   4620    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t1, $t5", 0xfabc3435,
   4621                                0xfabc3421, t4, t1, t5);
   4622    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t6, $t7, $t3", 0x07654cb8,
   4623                                0x734680bc, t6, t7, t3);
   4624    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t5, $t3, $t2", 0xf973437b,
   4625                                0x80000000, t5, t3, t2);
   4626    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t4, $t8", 0x00ff0001,
   4627                                0xff01ffff, t2, t4, t8);
   4628    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t8, $t0", 0x7fff7004,
   4629                                0x7fff7fff, t0, t8, t0);
   4630    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t6, $t1", 0x0000c420,
   4631                                0x00000555, t4, t6, t1);
   4632    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t1, $t2", 0x00000000,
   4633                                0x00000000, t0, t1, t2);
   4634    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t3, $t4", 0x80000000,
   4635                                0x80000000, t2, t3, t4);
   4636    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t1, $t5", 0xaaaaaaaa,
   4637                                0x55555555, t4, t1, t5);
   4638    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t6, $t7, $t3", 0x00000018,
   4639                                0xffff2435, t6, t7, t3);
   4640    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t5, $t3, $t2", 0xbabababa,
   4641                                0xabababab, t5, t3, t2);
   4642    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t4, $t8", 0xf0f0f0f0,
   4643                                0xfc79b4d2, t2, t4, t8);
   4644    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t8, $t0", 0xfbde3976,
   4645                                0x00000000, t0, t8, t0);
   4646    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t6, $t1", 0x23534870,
   4647                                0x00354565, t4, t6, t1);
   4648    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t1, $t2", 0x980b7cde,
   4649                                0x00086755, t0, t1, t2);
   4650    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t3, $t4", 0x00000018,
   4651                                0x8f8f8f8f, t2, t3, t4);
   4652    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t1, $t5", 0x92784656,
   4653                                0xeeeeeeee, t4, t1, t5);
   4654    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t6, $t7, $t3", 0xcacacaca,
   4655                                0x1bdbdbdb, t6, t7, t3);
   4656    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t5, $t3, $t2", 0xbacabaca,
   4657                                0xdecadeca, t5, t3, t2);
   4658    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t4, $t8", 0x12fadeb4,
   4659                                0x93474bde, t2, t4, t8);
   4660    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t8, $t0", 0x7c000790,
   4661                                0xfc0007ff, t0, t8, t0);
   4662    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t6, $t1", 0xffffffff,
   4663                                0xffffffff, t4, t6, t1);
   4664    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t1, $t2", 0xf2f4df1f,
   4665                                0xcb4ab48f, t0, t1, t2);
   4666    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t3, $t4", 0x435f909a,
   4667                                0xaf8f7e18, t2, t3, t4);
   4668    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t1, $t5", 0x2106ba5f,
   4669                                0x87df4510, t4, t1, t5);
   4670    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t6, $t7, $t3", 0x246a6376,
   4671                                0xabf4e8e1, t6, t7, t3);
   4672    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t5, $t3, $t2", 0x1046a1a3,
   4673                                0xf4c0eeac, t5, t3, t2);
   4674    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t2, $t4, $t8", 0x638ca515,
   4675                                0x006a54f2, t2, t4, t8);
   4676    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t0, $t8, $t0", 0xf63e7a9d,
   4677                                0x79f74493, t0, t8, t0);
   4678    TESTDSPINST_RD_RS_RT_NODSPC("subuh_r.qb $t4, $t6, $t1", 0xbd6845cd,
   4679                                0x9c09e313, t4, t6, t1);
   4680 #endif
   4681 
   4682    return 0;
   4683 }