]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Conditionally execute tests depending on revision of MIPS architecture.
authorPetar Jovanovic <mips32r2@gmail.com>
Mon, 16 Jul 2012 14:07:47 +0000 (14:07 +0000)
committerPetar Jovanovic <mips32r2@gmail.com>
Mon, 16 Jul 2012 14:07:47 +0000 (14:07 +0000)
Support has been added to the tests for MIPS32 revision 1. Previously, all the
tests had to be compiled for MIPS32r2 platforms.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12751

none/tests/mips32/FPUarithmetic.c
none/tests/mips32/FPUarithmetic.stdout.exp-mips32 [new file with mode: 0644]
none/tests/mips32/MIPS32int.c
none/tests/mips32/MIPS32int.stdout.exp-mips32 [new file with mode: 0644]
none/tests/mips32/Makefile.am
none/tests/mips32/round.c
none/tests/mips32/vfp.c
none/tests/mips32/vfp.stdout.exp-mips32 [new file with mode: 0644]

index 4006dd5feac774a56b5a89d890a16a3c86eef7d3..3a76b3fdb3718f6ba8bc1a6178ae2e0a82d49954 100644 (file)
@@ -149,20 +149,28 @@ int arithmeticOperations(flt_art_op_t op)
               printf("%s %lf %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
               break;
          case RECIPS:
+#if (__mips==32) && (__mips_isa_rev>=2)
               UNOPff("recip.s");
               printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+#endif
               break;
          case RECIPD:
+#if (__mips==32) && (__mips_isa_rev>=2)
               UNOPdd("recip.d");
               printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+#endif
               break;
          case RSQRTS:
+#if (__mips==32) && (__mips_isa_rev>=2)
               UNOPff("rsqrt.s");
               printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+#endif
               break;
          case RSQRTD:
+#if (__mips==32) && (__mips_isa_rev>=2)
               UNOPdd("rsqrt.d");
               printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+#endif
               break;
                default:
                        printf("error\n");
@@ -184,3 +192,4 @@ int main()
 
    return 0;
 }
+
diff --git a/none/tests/mips32/FPUarithmetic.stdout.exp-mips32 b/none/tests/mips32/FPUarithmetic.stdout.exp-mips32
new file mode 100644 (file)
index 0000000..c33b2b2
--- /dev/null
@@ -0,0 +1,337 @@
+-------------------------- test FPU Arithmetic Operations --------------------------
+abs.s 0.000000 0.000000
+abs.s 456.248962 456.248962
+abs.s 3.000000 3.000000
+abs.s 1.000000 -1.000000
+abs.s 1384.599976 1384.599976
+abs.s 7.294568 -7.294568
+abs.s 1000000000.000000 1000000000.000000
+abs.s 5786.470215 -5786.470215
+abs.s 1752.000000 1752.000000
+abs.s 0.002457 0.002457
+abs.s 0.000000 0.000000
+abs.s 248562.765625 -248562.765625
+abs.s 45786.476562 -45786.476562
+abs.s 456.248962 456.248962
+abs.s 34.000462 34.000462
+abs.s 45786.476562 45786.476562
+abs.s 1752065.000000 1752065.000000
+abs.s 107.000000 107.000000
+abs.s 45667.238281 -45667.238281
+abs.s 7.294568 -7.294568
+abs.s 347856.468750 -347856.468750
+abs.s 356047.562500 356047.562500
+abs.s 1.000000 -1.000000
+abs.s 23.040001 23.040001
+abs.d 0.000000 0.000000
+abs.d 456.248956 456.248956
+abs.d 3.000000 3.000000
+abs.d 1.000000 -1.000000
+abs.d 1384.600000 1384.600000
+abs.d 7.294568 -7.294568
+abs.d 1000000000.000000 1000000000.000000
+abs.d 5786.470000 -5786.470000
+abs.d 1752.000000 1752.000000
+abs.d 0.002458 0.002458
+abs.d 0.000000 0.000000
+abs.d 248562.760000 -248562.760000
+abs.d 45786.476000 -45786.476000
+abs.d 456.248956 456.248956
+abs.d 34.000460 34.000460
+abs.d 45786.476000 45786.476000
+abs.d 1752065.000000 1752065.000000
+abs.d 107.000000 107.000000
+abs.d 45667.240000 -45667.240000
+abs.d 7.294568 -7.294568
+abs.d 347856.475000 -347856.475000
+abs.d 356047.560000 356047.560000
+abs.d 1.000000 -1.000000
+abs.d 23.040000 23.040000
+add.s -45786.476562 0.000000 -45786.476562
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 3.000000 34.000462
+add.s 45785.476562 -1.000000 45786.476562
+add.s 1753449.625000 1384.599976 1752065.000000
+add.s 99.705429 -7.294568 107.000000
+add.s 999954304.000000 1000000000.000000 -45667.238281
+add.s -5793.764648 -5786.470215 -7.294568
+add.s -346104.468750 1752.000000 -347856.468750
+add.s 356047.562500 0.002457 356047.562500
+add.s -1.000000 0.000000 -1.000000
+add.s -248539.718750 -248562.765625 23.040001
+add.s -45786.476562 -45786.476562 0.000000
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 34.000462 3.000000
+add.s 45785.476562 45786.476562 -1.000000
+add.s 1753449.625000 1752065.000000 1384.599976
+add.s 99.705429 107.000000 -7.294568
+add.s 999954304.000000 -45667.238281 1000000000.000000
+add.s -5793.764648 -7.294568 -5786.470215
+add.s -346104.468750 -347856.468750 1752.000000
+add.s 356047.562500 356047.562500 0.002457
+add.s -1.000000 -1.000000 0.000000
+add.s -248539.718750 23.040001 -248562.765625
+add.d -45786.476000 0.000000 -45786.476000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 3.000000 34.000460
+add.d 45785.476000 -1.000000 45786.476000
+add.d 1753449.600000 1384.600000 1752065.000000
+add.d 99.705432 -7.294568 107.000000
+add.d 999954332.760000 1000000000.000000 -45667.240000
+add.d -5793.764568 -5786.470000 -7.294568
+add.d -346104.475000 1752.000000 -347856.475000
+add.d 356047.562458 0.002458 356047.560000
+add.d -1.000000 0.000000 -1.000000
+add.d -248539.720000 -248562.760000 23.040000
+add.d -45786.476000 -45786.476000 0.000000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 34.000460 3.000000
+add.d 45785.476000 45786.476000 -1.000000
+add.d 1753449.600000 1752065.000000 1384.600000
+add.d 99.705432 107.000000 -7.294568
+add.d 999954332.760000 -45667.240000 1000000000.000000
+add.d -5793.764568 -7.294568 -5786.470000
+add.d -346104.475000 -347856.475000 1752.000000
+add.d 356047.562458 356047.560000 0.002458
+add.d -1.000000 -1.000000 0.000000
+add.d -248539.720000 23.040000 -248562.760000
+div.s -0.000000 0.000000 -45786.476562
+div.s 1.000000 456.248962 456.248962
+div.s 0.088234 3.000000 34.000462
+div.s -0.000022 -1.000000 45786.476562
+div.s 0.000790 1384.599976 1752065.000000
+div.s -0.068174 -7.294568 107.000000
+div.s -21897.535156 1000000000.000000 -45667.238281
+div.s 793.257446 -5786.470215 -7.294568
+div.s -0.005037 1752.000000 -347856.468750
+div.s 0.000000 0.002457 356047.562500
+div.s -0.000000 0.000000 -1.000000
+div.s -10788.314453 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1.000000 456.248962 456.248962
+div.s 11.333488 34.000462 3.000000
+div.s -45786.476562 45786.476562 -1.000000
+div.s 1265.394409 1752065.000000 1384.599976
+div.s -14.668450 107.000000 -7.294568
+div.s -0.000046 -45667.238281 1000000000.000000
+div.s 0.001261 -7.294568 -5786.470215
+div.s -198.548218 -347856.468750 1752.000000
+div.s 144882016.000000 356047.562500 0.002457
+div.s -100000000.000000 -1.000000 0.000000
+div.s -0.000093 23.040001 -248562.765625
+div.d -0.000000 0.000000 -45786.476000
+div.d 1.000000 456.248956 456.248956
+div.d 0.088234 3.000000 34.000460
+div.d -0.000022 -1.000000 45786.476000
+div.d 0.000790 1384.600000 1752065.000000
+div.d -0.068174 -7.294568 107.000000
+div.d -21897.535301 1000000000.000000 -45667.240000
+div.d 793.257437 -5786.470000 -7.294568
+div.d -0.005037 1752.000000 -347856.475000
+div.d 0.000000 0.002458 356047.560000
+div.d -0.000000 0.000000 -1.000000
+div.d -10788.314236 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1.000000 456.248956 456.248956
+div.d 11.333487 34.000460 3.000000
+div.d -45786.476000 45786.476000 -1.000000
+div.d 1265.394338 1752065.000000 1384.600000
+div.d -14.668450 107.000000 -7.294568
+div.d -0.000046 -45667.240000 1000000000.000000
+div.d 0.001261 -7.294568 -5786.470000
+div.d -198.548216 -347856.475000 1752.000000
+div.d 144882018.311292 356047.560000 0.002458
+div.d -100000000.000000 -1.000000 0.000000
+div.d -0.000093 23.040000 -248562.760000
+mul.s -0.000000 0.000000 -45786.476562
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 3.000000 34.000462
+mul.s -45786.476562 -1.000000 45786.476562
+mul.s 2425909248.000000 1384.599976 1752065.000000
+mul.s -780.518738 -7.294568 107.000000
+mul.s -45667238019072.000000 1000000000.000000 -45667.238281
+mul.s 42209.796875 -5786.470215 -7.294568
+mul.s -609444544.000000 1752.000000 -347856.468750
+mul.s 874.986877 0.002457 356047.562500
+mul.s -0.000000 0.000000 -1.000000
+mul.s -5726886.500000 -248562.765625 23.040001
+mul.s -0.000000 -45786.476562 0.000000
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 34.000462 3.000000
+mul.s -45786.476562 45786.476562 -1.000000
+mul.s 2425909248.000000 1752065.000000 1384.599976
+mul.s -780.518738 107.000000 -7.294568
+mul.s -45667238019072.000000 -45667.238281 1000000000.000000
+mul.s 42209.796875 -7.294568 -5786.470215
+mul.s -609444544.000000 -347856.468750 1752.000000
+mul.s 874.986877 356047.562500 0.002457
+mul.s -0.000000 -1.000000 0.000000
+mul.s -5726886.500000 23.040001 -248562.765625
+mul.d -0.000000 0.000000 -45786.476000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 3.000000 34.000460
+mul.d -45786.476000 -1.000000 45786.476000
+mul.d 2425909199.000000 1384.600000 1752065.000000
+mul.d -780.518733 -7.294568 107.000000
+mul.d -45667240000000.000000 1000000000.000000 -45667.240000
+mul.d 42209.796580 -5786.470000 -7.294568
+mul.d -609444544.200000 1752.000000 -347856.475000
+mul.d 874.986879 0.002458 356047.560000
+mul.d -0.000000 0.000000 -1.000000
+mul.d -5726885.990400 -248562.760000 23.040000
+mul.d -0.000000 -45786.476000 0.000000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 34.000460 3.000000
+mul.d -45786.476000 45786.476000 -1.000000
+mul.d 2425909199.000000 1752065.000000 1384.600000
+mul.d -780.518733 107.000000 -7.294568
+mul.d -45667240000000.000000 -45667.240000 1000000000.000000
+mul.d 42209.796580 -7.294568 -5786.470000
+mul.d -609444544.200000 -347856.475000 1752.000000
+mul.d 874.986879 356047.560000 0.002458
+mul.d -0.000000 -1.000000 0.000000
+mul.d -5726885.990400 23.040000 -248562.760000
+neg.s -0.000000 0.000000
+neg.s -456.248962 456.248962
+neg.s -3.000000 3.000000
+neg.s 1.000000 -1.000000
+neg.s -1384.599976 1384.599976
+neg.s 7.294568 -7.294568
+neg.s -1000000000.000000 1000000000.000000
+neg.s 5786.470215 -5786.470215
+neg.s -1752.000000 1752.000000
+neg.s -0.002457 0.002457
+neg.s -0.000000 0.000000
+neg.s 248562.765625 -248562.765625
+neg.s 45786.476562 -45786.476562
+neg.s -456.248962 456.248962
+neg.s -34.000462 34.000462
+neg.s -45786.476562 45786.476562
+neg.s -1752065.000000 1752065.000000
+neg.s -107.000000 107.000000
+neg.s 45667.238281 -45667.238281
+neg.s 7.294568 -7.294568
+neg.s 347856.468750 -347856.468750
+neg.s -356047.562500 356047.562500
+neg.s 1.000000 -1.000000
+neg.s -23.040001 23.040001
+neg.d -0.000000 0.000000
+neg.d -456.248956 456.248956
+neg.d -3.000000 3.000000
+neg.d 1.000000 -1.000000
+neg.d -1384.600000 1384.600000
+neg.d 7.294568 -7.294568
+neg.d -1000000000.000000 1000000000.000000
+neg.d 5786.470000 -5786.470000
+neg.d -1752.000000 1752.000000
+neg.d -0.002458 0.002458
+neg.d -0.000000 0.000000
+neg.d 248562.760000 -248562.760000
+neg.d 45786.476000 -45786.476000
+neg.d -456.248956 456.248956
+neg.d -34.000460 34.000460
+neg.d -45786.476000 45786.476000
+neg.d -1752065.000000 1752065.000000
+neg.d -107.000000 107.000000
+neg.d 45667.240000 -45667.240000
+neg.d 7.294568 -7.294568
+neg.d 347856.475000 -347856.475000
+neg.d -356047.560000 356047.560000
+neg.d 1.000000 -1.000000
+neg.d -23.040000 23.040000
+sqrt.s 0.000000 0.000000
+sqrt.s 21.359985 456.248962
+sqrt.s 1.732051 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.210213 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.777344 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.856899 1752.000000
+sqrt.s 0.049573 0.002457
+sqrt.s 0.000100 0.000000
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.359985 456.248962
+sqrt.s 5.830991 34.000462
+sqrt.s 213.977753 45786.476562
+sqrt.s 1323.655884 1752065.000000
+sqrt.s 10.344080 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697205 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.800000 23.040001
+sqrt.d 0.000000 0.000000
+sqrt.d 21.359985 456.248956
+sqrt.d 1.732051 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.210214 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.776602 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.856899 1752.000000
+sqrt.d 0.049573 0.002458
+sqrt.d 0.000100 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.359985 456.248956
+sqrt.d 5.830991 34.000460
+sqrt.d 213.977747 45786.476000
+sqrt.d 1323.655922 1752065.000000
+sqrt.d 10.344080 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.697210 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.800000 23.040000
+sub.s 45786.476562 0.000000 -45786.476562
+sub.s 0.000000 456.248962 456.248962
+sub.s -31.000462 3.000000 34.000462
+sub.s -45787.476562 -1.000000 45786.476562
+sub.s -1750680.375000 1384.599976 1752065.000000
+sub.s -114.294571 -7.294568 107.000000
+sub.s 1000045696.000000 1000000000.000000 -45667.238281
+sub.s -5779.175781 -5786.470215 -7.294568
+sub.s 349608.468750 1752.000000 -347856.468750
+sub.s -356047.562500 0.002457 356047.562500
+sub.s 1.000000 0.000000 -1.000000
+sub.s -248585.812500 -248562.765625 23.040001
+sub.s -45786.476562 -45786.476562 0.000000
+sub.s 0.000000 456.248962 456.248962
+sub.s 31.000462 34.000462 3.000000
+sub.s 45787.476562 45786.476562 -1.000000
+sub.s 1750680.375000 1752065.000000 1384.599976
+sub.s 114.294571 107.000000 -7.294568
+sub.s -1000045696.000000 -45667.238281 1000000000.000000
+sub.s 5779.175781 -7.294568 -5786.470215
+sub.s -349608.468750 -347856.468750 1752.000000
+sub.s 356047.562500 356047.562500 0.002457
+sub.s -1.000000 -1.000000 0.000000
+sub.s 248585.812500 23.040001 -248562.765625
+sub.d 45786.476000 0.000000 -45786.476000
+sub.d 0.000000 456.248956 456.248956
+sub.d -31.000460 3.000000 34.000460
+sub.d -45787.476000 -1.000000 45786.476000
+sub.d -1750680.400000 1384.600000 1752065.000000
+sub.d -114.294568 -7.294568 107.000000
+sub.d 1000045667.240000 1000000000.000000 -45667.240000
+sub.d -5779.175432 -5786.470000 -7.294568
+sub.d 349608.475000 1752.000000 -347856.475000
+sub.d -356047.557542 0.002458 356047.560000
+sub.d 1.000000 0.000000 -1.000000
+sub.d -248585.800000 -248562.760000 23.040000
+sub.d -45786.476000 -45786.476000 0.000000
+sub.d 0.000000 456.248956 456.248956
+sub.d 31.000460 34.000460 3.000000
+sub.d 45787.476000 45786.476000 -1.000000
+sub.d 1750680.400000 1752065.000000 1384.600000
+sub.d 114.294568 107.000000 -7.294568
+sub.d -1000045667.240000 -45667.240000 1000000000.000000
+sub.d 5779.175432 -7.294568 -5786.470000
+sub.d -349608.475000 -347856.475000 1752.000000
+sub.d 356047.557542 356047.560000 0.002458
+sub.d -1.000000 -1.000000 0.000000
+sub.d 248585.800000 23.040000 -248562.760000
index d6de707104ffb512f37f50dc14b763b773af40fd..84f79a646857d1b1bc29bf61f5593a422d3c6274 100644 (file)
@@ -249,6 +249,7 @@ int main(int argc, char **argv)
    TESTINST3a("divu  $t0, $t1", 0x2, 0x6, t0, t1);
    TESTINST3a("divu  $t0, $t1", 0x0, 0x2, t0, t1);
 
+#if (__mips==32) && (__mips_isa_rev>=2)
    printf("EXT\n");
    TESTINST4("ext $t0, $t1, 2, 6", 0, 0xffffffff, t0, t1, 2, 6);
    TESTINST4("ext $t0, $t1, 2, 6", 0xffffffff, 0xffffffff, t0, t1, 2, 6);
@@ -270,6 +271,7 @@ int main(int argc, char **argv)
    TESTINST4("ins $t0, $t1, 2, 6", 0, 0xf0000000, t0, t1, 31, 0)
    TESTINST4("ins $t0, $t1, 2, 6", 0, 0xf0000000, t0, t1, 0, 31)
    TESTINST4("ins $t0, $t1, 2, 6", 0, 0x31415927, t0, t1, 3, 25)
+#endif
 
    printf("LB\n");
    TESTINSN5LOAD("lb $t0, 0($t1)", 0, 0, t0);
@@ -733,6 +735,7 @@ int main(int argc, char **argv)
    TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
    TESTINST1("nor $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
 
+#if (__mips==32) && (__mips_isa_rev>=2)
    printf("WSBH\n");
    TESTINST3("wsbh  $t0, $t1", 0x2, t0, t1);
    TESTINST3("wsbh  $t0, $t1", 0x28, t0, t1);
@@ -742,6 +745,7 @@ int main(int argc, char **argv)
    TESTINST3("wsbh  $t0, $t1", 0xffffffff, t0, t1);
    TESTINST3("wsbh  $t0, $t1", 0x16, t0, t1);
    TESTINST3("wsbh  $t0, $t1", -1, t0, t1);
+#endif
 
    printf("NOT\n");
    TESTINST3("not  $t0, $t1", 0x2, t0, t1);
@@ -827,6 +831,7 @@ int main(int argc, char **argv)
    TESTINST2("ori $t0, $t1, 0x7fff", 0x7fffffff, 0x7fff, t0, t1);
    TESTINST2("ori $t0, $t1, 0x0000", 0x0000ffff, 0x0000, t0, t1);
 
+#if (__mips==32) && (__mips_isa_rev>=2)
    printf("ROTR\n");
    TESTINST2("rotr $t0, $t1, 0x00000000", 0x31415927, 0x00000000, t0, t1);
    TESTINST2("rotr $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
@@ -844,7 +849,9 @@ int main(int argc, char **argv)
    TESTINST2("rotr $t0, $t1, 18", 0x00010000, 18, t0, t1);
    TESTINST2("rotr $t0, $t1, 0", 0, 0, t0, t1);
    TESTINST2("rotr $t0, $t1, 0xffff", 0xffff, 0xffff, t0, t1);
+#endif
 
+#if (__mips==32) && (__mips_isa_rev>=2)
    printf("ROTRV\n");
    TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
    TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
@@ -913,6 +920,7 @@ int main(int argc, char **argv)
    TESTINST3("seh  $t0, $t1", 0xffffffff, t0, t1);
    TESTINST3("seh  $t0, $t1", 0x16, t0, t1);
    TESTINST3("seh  $t0, $t1", -1, t0, t1);
+#endif
 
    printf("SLL\n");
    TESTINST2("sll $t0, $t1, 0x00000000", 0x31415927, 0x00000000, t0, t1);
diff --git a/none/tests/mips32/MIPS32int.stdout.exp-mips32 b/none/tests/mips32/MIPS32int.stdout.exp-mips32
new file mode 100644 (file)
index 0000000..e7172e7
--- /dev/null
@@ -0,0 +1,1115 @@
+ADD
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+add $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+ADDI
+addi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addi $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addi $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDIU
+addiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addiu $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addiu $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDU
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+addu $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0x7fffffff
+addu $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+AND
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+ANDI
+andi $t0, $t1, 1 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000001, imm 0x00000000
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000001, imm 0x00000001
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x7fffffff, imm 0x00000000
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x80000000, imm 0x00000000
+andi $t0, $t1, 0x3145 :: rt 0x00003145 rs 0xffffffff, imm 0x00003145
+CLO
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000000
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000001
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000010
+clo  $t0, $t1 :: rd 0x00000020 rs 0xffffffff
+CLZ
+clz  $t0, $t1 :: rd 0x00000020 rs 0x00000000
+clz  $t0, $t1 :: rd 0x0000001f rs 0x00000001
+clz  $t0, $t1 :: rd 0x0000001b rs 0x00000010
+clz  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+DIV
+div  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+div  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+div  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+DIVU
+divu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+divu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+divu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+divu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000001 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000000 rt 0x00000002 HI 0x00000000 LO 0x00000000 
+LB
+lb $t0, 0($t1) :: rt 0x0000001f
+lb $t0, 4($t1) :: rt 0x00000000
+lb $t0, 8($t1) :: rt 0x00000003
+lb $t0, 12($t1) :: rt 0xffffffff
+lb $t0, 16($t1) :: rt 0x0000002f
+lb $t0, 20($t1) :: rt 0x0000002b
+lb $t0, 24($t1) :: rt 0x0000002b
+lb $t0, 28($t1) :: rt 0x0000002a
+lb $t0, 32($t1) :: rt 0x0000003e
+lb $t0, 36($t1) :: rt 0x0000003c
+lb $t0, 40($t1) :: rt 0x0000003b
+lb $t0, 44($t1) :: rt 0x0000003a
+lb $t0, 48($t1) :: rt 0x00000045
+lb $t0, 52($t1) :: rt 0x00000046
+lb $t0, 56($t1) :: rt 0x0000004c
+lb $t0, 60($t1) :: rt 0x0000004c
+lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 2($t1) :: rt 0x0000001f
+lb $t0, 6($t1) :: rt 0x00000000
+lb $t0, 10($t1) :: rt 0x00000000
+lb $t0, 14($t1) :: rt 0xffffffff
+lb $t0, 18($t1) :: rt 0x0000002f
+lb $t0, 22($t1) :: rt 0x0000002c
+lb $t0, 26($t1) :: rt 0x0000002a
+lb $t0, 30($t1) :: rt 0x0000002d
+lb $t0, 34($t1) :: rt 0x00000034
+lb $t0, 38($t1) :: rt 0x00000035
+LBU
+lbu $t0, 0($t1) :: rt 0x0000001f
+lbu $t0, 4($t1) :: rt 0x00000000
+lbu $t0, 8($t1) :: rt 0x00000003
+lbu $t0, 12($t1) :: rt 0x000000ff
+lbu $t0, 16($t1) :: rt 0x0000002f
+lbu $t0, 20($t1) :: rt 0x0000002b
+lbu $t0, 24($t1) :: rt 0x0000002b
+lbu $t0, 28($t1) :: rt 0x0000002a
+lbu $t0, 32($t1) :: rt 0x0000003e
+lbu $t0, 36($t1) :: rt 0x0000003c
+lbu $t0, 40($t1) :: rt 0x0000003b
+lbu $t0, 44($t1) :: rt 0x0000003a
+lbu $t0, 48($t1) :: rt 0x00000045
+lbu $t0, 52($t1) :: rt 0x00000046
+lbu $t0, 56($t1) :: rt 0x0000004c
+lbu $t0, 60($t1) :: rt 0x0000004c
+lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 2($t1) :: rt 0x0000001f
+lbu $t0, 6($t1) :: rt 0x00000000
+lbu $t0, 10($t1) :: rt 0x00000000
+lbu $t0, 14($t1) :: rt 0x000000ff
+lbu $t0, 18($t1) :: rt 0x0000002f
+lbu $t0, 22($t1) :: rt 0x0000002c
+lbu $t0, 26($t1) :: rt 0x0000002a
+lbu $t0, 30($t1) :: rt 0x0000002d
+lbu $t0, 34($t1) :: rt 0x00000034
+lbu $t0, 38($t1) :: rt 0x00000035
+LH
+lh $t0, 0($t1) :: rt 0x00001e1f
+lh $t0, 4($t1) :: rt 0x00000000
+lh $t0, 8($t1) :: rt 0x00000003
+lh $t0, 12($t1) :: rt 0xffffffff
+lh $t0, 16($t1) :: rt 0x00002e2f
+lh $t0, 20($t1) :: rt 0x00002b2b
+lh $t0, 24($t1) :: rt 0x00002e2b
+lh $t0, 28($t1) :: rt 0x00002d2a
+lh $t0, 32($t1) :: rt 0x00003f3e
+lh $t0, 36($t1) :: rt 0x00003d3c
+lh $t0, 40($t1) :: rt 0x00003c3b
+lh $t0, 44($t1) :: rt 0x00003b3a
+lh $t0, 48($t1) :: rt 0x00004e45
+lh $t0, 52($t1) :: rt 0x00004d46
+lh $t0, 56($t1) :: rt 0x0000474c
+lh $t0, 60($t1) :: rt 0x00004a4c
+lh $t0, 64($t1) :: rt 0x00004441
+lh $t0, 2($t1) :: rt 0x0000121f
+lh $t0, 6($t1) :: rt 0x00000000
+lh $t0, 10($t1) :: rt 0x00000000
+lh $t0, 14($t1) :: rt 0xffffffff
+lh $t0, 18($t1) :: rt 0x0000232f
+lh $t0, 22($t1) :: rt 0x0000242c
+lh $t0, 26($t1) :: rt 0x0000252a
+lh $t0, 30($t1) :: rt 0x0000262d
+lh $t0, 34($t1) :: rt 0x00003f34
+lh $t0, 38($t1) :: rt 0x00003e35
+LHU
+lhu $t0, 0($t1) :: rt 0x00001e1f
+lhu $t0, 4($t1) :: rt 0x00000000
+lhu $t0, 8($t1) :: rt 0x00000003
+lhu $t0, 12($t1) :: rt 0x0000ffff
+lhu $t0, 16($t1) :: rt 0x00002e2f
+lhu $t0, 20($t1) :: rt 0x00002b2b
+lhu $t0, 24($t1) :: rt 0x00002e2b
+lhu $t0, 28($t1) :: rt 0x00002d2a
+lhu $t0, 32($t1) :: rt 0x00003f3e
+lhu $t0, 36($t1) :: rt 0x00003d3c
+lhu $t0, 40($t1) :: rt 0x00003c3b
+lhu $t0, 44($t1) :: rt 0x00003b3a
+lhu $t0, 48($t1) :: rt 0x00004e45
+lhu $t0, 52($t1) :: rt 0x00004d46
+lhu $t0, 56($t1) :: rt 0x0000474c
+lhu $t0, 60($t1) :: rt 0x00004a4c
+lhu $t0, 64($t1) :: rt 0x00004441
+lhu $t0, 2($t1) :: rt 0x0000121f
+lhu $t0, 6($t1) :: rt 0x00000000
+lhu $t0, 10($t1) :: rt 0x00000000
+lhu $t0, 14($t1) :: rt 0x0000ffff
+lhu $t0, 18($t1) :: rt 0x0000232f
+lhu $t0, 22($t1) :: rt 0x0000242c
+lhu $t0, 26($t1) :: rt 0x0000252a
+lhu $t0, 30($t1) :: rt 0x0000262d
+lhu $t0, 34($t1) :: rt 0x00003f34
+lhu $t0, 38($t1) :: rt 0x00003e35
+LUI
+lui  $t0, 0xffff :: rd 0xffff0000 rs 0x0000ffff
+lui  $t0, 0xff00 :: rd 0xff000000 rs 0x0000ff00
+lui  $t0, 0xff :: rd 0x00ff0000 rs 0x000000ff
+lui  $t0, 0x0 :: rd 0x00000000 rs 0x00000000
+lui  $t0, 0x5 :: rd 0x00050000 rs 0x00000005
+lui  $t0, 0x387 :: rd 0x03870000 rs 0x00000387
+LW
+lw $t0, 0($t1) :: rt 0x121f1e1f
+lw $t0, 4($t1) :: rt 0x00000000
+lw $t0, 8($t1) :: rt 0x00000003
+lw $t0, 12($t1) :: rt 0xffffffff
+lw $t0, 16($t1) :: rt 0x232f2e2f
+lw $t0, 20($t1) :: rt 0x242c2b2b
+lw $t0, 24($t1) :: rt 0x252a2e2b
+lw $t0, 28($t1) :: rt 0x262d2d2a
+lw $t0, 32($t1) :: rt 0x3f343f3e
+lw $t0, 36($t1) :: rt 0x3e353d3c
+lw $t0, 40($t1) :: rt 0x363a3c3b
+lw $t0, 44($t1) :: rt 0x3b373b3a
+lw $t0, 48($t1) :: rt 0x454f4e45
+lw $t0, 52($t1) :: rt 0x4e464d46
+lw $t0, 56($t1) :: rt 0x474d474c
+lw $t0, 60($t1) :: rt 0x4a484a4c
+lw $t0, 64($t1) :: rt 0x00444441
+lw $t0, 2($t1) :: rt 0x0000121f
+lw $t0, 6($t1) :: rt 0x00030000
+lw $t0, 10($t1) :: rt 0xffff0000
+lw $t0, 14($t1) :: rt 0x2e2fffff
+lw $t0, 18($t1) :: rt 0x2b2b232f
+lw $t0, 22($t1) :: rt 0x2e2b242c
+lw $t0, 26($t1) :: rt 0x2d2a252a
+lw $t0, 30($t1) :: rt 0x3f3e262d
+lw $t0, 34($t1) :: rt 0x3d3c3f34
+lw $t0, 38($t1) :: rt 0x3c3b3e35
+LWL
+lwl $t0, 0($t1) :: rt 0x1f000000
+lwl $t0, 4($t1) :: rt 0x00000000
+lwl $t0, 8($t1) :: rt 0x03000000
+lwl $t0, 12($t1) :: rt 0xff000000
+lwl $t0, 16($t1) :: rt 0x2f000000
+lwl $t0, 20($t1) :: rt 0x2b000000
+lwl $t0, 24($t1) :: rt 0x2b000000
+lwl $t0, 28($t1) :: rt 0x2a000000
+lwl $t0, 32($t1) :: rt 0x3e000000
+lwl $t0, 36($t1) :: rt 0x3c000000
+lwl $t0, 40($t1) :: rt 0x3b000000
+lwl $t0, 44($t1) :: rt 0x3a000000
+lwl $t0, 48($t1) :: rt 0x45000000
+lwl $t0, 52($t1) :: rt 0x46000000
+lwl $t0, 56($t1) :: rt 0x4c000000
+lwl $t0, 60($t1) :: rt 0x4c000000
+lwl $t0, 64($t1) :: rt 0x41000000
+lwl $t0, 2($t1) :: rt 0x1f1e1f00
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 10($t1) :: rt 0x00000300
+lwl $t0, 14($t1) :: rt 0xffffff00
+lwl $t0, 18($t1) :: rt 0x2f2e2f00
+lwl $t0, 22($t1) :: rt 0x2c2b2b00
+lwl $t0, 26($t1) :: rt 0x2a2e2b00
+lwl $t0, 30($t1) :: rt 0x2d2d2a00
+lwl $t0, 34($t1) :: rt 0x343f3e00
+lwl $t0, 38($t1) :: rt 0x353d3c00
+LWR
+lwr $t0, 0($t1) :: rt 0x121f1e1f
+lwr $t0, 4($t1) :: rt 0x00000000
+lwr $t0, 8($t1) :: rt 0x00000003
+lwr $t0, 12($t1) :: rt 0xffffffff
+lwr $t0, 16($t1) :: rt 0x232f2e2f
+lwr $t0, 20($t1) :: rt 0x242c2b2b
+lwr $t0, 24($t1) :: rt 0x252a2e2b
+lwr $t0, 28($t1) :: rt 0x262d2d2a
+lwr $t0, 32($t1) :: rt 0x3f343f3e
+lwr $t0, 36($t1) :: rt 0x3e353d3c
+lwr $t0, 40($t1) :: rt 0x363a3c3b
+lwr $t0, 44($t1) :: rt 0x3b373b3a
+lwr $t0, 48($t1) :: rt 0x454f4e45
+lwr $t0, 52($t1) :: rt 0x4e464d46
+lwr $t0, 56($t1) :: rt 0x474d474c
+lwr $t0, 60($t1) :: rt 0x4a484a4c
+lwr $t0, 64($t1) :: rt 0x00444441
+lwr $t0, 2($t1) :: rt 0x0000121f
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 10($t1) :: rt 0x00000000
+lwr $t0, 14($t1) :: rt 0x0000ffff
+lwr $t0, 18($t1) :: rt 0x0000232f
+lwr $t0, 22($t1) :: rt 0x0000242c
+lwr $t0, 26($t1) :: rt 0x0000252a
+lwr $t0, 30($t1) :: rt 0x0000262d
+lwr $t0, 34($t1) :: rt 0x00003f34
+lwr $t0, 38($t1) :: rt 0x00003e35
+MADD
+madd  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+madd  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+madd  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+madd  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MADDU
+maddu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+maddu  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+maddu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+maddu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MOVN
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+MOVZ
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+MSUB
+msub  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0xffffffff LO 0xfffff2b8 
+msub  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0xffffffff LO 0xfffe8018 
+msub  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msub  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0xffffffff LO 0xffee3672 
+MSUBU
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x80000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000001 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0xffffffff LO 0x0001ffff 
+MUL
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x7fffffff
+mul $t0, $t1, $t2 :: rd 0xfffe0001 rs 0x0000ffff, rt 0x0000ffff
+MULT
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x00000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000000 LO 0x00000001 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+mult  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+MULTU
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x7fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0xfffffffe LO 0x00000001 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+multu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+NOR
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000001, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x00000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+nor $t0, $t1, $t2 :: rd 0xffff0000 rs 0x0000ffff, rt 0x0000ffff
+NOT
+not  $t0, $t1 :: rd 0xfffffffd rs 0x00000002
+not  $t0, $t1 :: rd 0xffffffd7 rs 0x00000028
+not  $t0, $t1 :: rd 0x00000101 rs 0xfffffefe
+not  $t0, $t1 :: rd 0x80000000 rs 0x7fffffff
+not  $t0, $t1 :: rd 0x0000000a rs 0xfffffff5
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+not  $t0, $t1 :: rd 0xffffffe9 rs 0x00000016
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+NEGU
+negu  $t0, $t1 :: rd 0xfffffffe rs 0x00000002
+negu  $t0, $t1 :: rd 0xffffffd8 rs 0x00000028
+negu  $t0, $t1 :: rd 0x00000102 rs 0xfffffefe
+negu  $t0, $t1 :: rd 0x80000001 rs 0x7fffffff
+negu  $t0, $t1 :: rd 0x0000000b rs 0xfffffff5
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+negu  $t0, $t1 :: rd 0xffffffea rs 0x00000016
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+OR
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x7fffffff
+or $t0, $t1, $t2 :: rd 0x0000ffff rs 0x0000ffff, rt 0x0000ffff
+ORI
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+ori $t0, $t1, 0xffff :: rt 0xffffffff rs 0xffffffff, imm 0x0000ffff
+ori $t0, $t1, 0x7fff :: rt 0x7fffffff rs 0x7fffffff, imm 0x00007fff
+ori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+SLL
+sll $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x6282b24e rs 0x31415927, imm 0x00000001
+sll $t0, $t1, 0x00000002 :: rt 0xc505649c rs 0x31415927, imm 0x00000002
+sll $t0, $t1, 0x0000000F :: rt 0xac938000 rs 0x31415927, imm 0x0000000f
+sll $t0, $t1, 0x00000010 :: rt 0x59270000 rs 0x31415927, imm 0x00000010
+sll $t0, $t1, 0x0000001F :: rt 0x80000000 rs 0x31415927, imm 0x0000001f
+sll $t0, $t1, 0x00000009 :: rt 0x82b24e00 rs 0x31415927, imm 0x00000009
+sll $t0, $t1, 0x0000000A :: rt 0x05649c00 rs 0x31415927, imm 0x0000000a
+sll $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x00110000 rs 0x00088000, imm 0x00000001
+sll $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sll $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sll $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sll $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sll $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLLV
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0xffffffff, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xc505649c rs 0x31415927, rt 0x00000002
+sllv $t0, $t1, $t2 :: rd 0xac938000 rs 0x31415927, rt 0x0000000f
+sllv $t0, $t1, $t2 :: rd 0x59270000 rs 0x31415927, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000021
+sllv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+SLT
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SLTI
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+slti $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+slti $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+slti $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+slti $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+slti $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+slti $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+slti $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+slti $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+slti $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+slti $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+slti $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+slti $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+slti $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTIU
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+sltiu $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+sltiu $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+sltiu $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sltiu $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+sltiu $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+sltiu $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+sltiu $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sltiu $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sltiu $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sltiu $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sltiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTU
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRA
+sra $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+sra $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+sra $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+sra $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+sra $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sra $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+sra $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+sra $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+sra $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+sra $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+sra $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sra $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+sra $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sra $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sra $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRAV
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srav $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srav $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srav $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRL
+srl $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+srl $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+srl $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+srl $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+srl $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+srl $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+srl $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+srl $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+srl $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+srl $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+srl $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+srl $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+srl $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+srl $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+srl $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRLV
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srlv $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srlv $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srlv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUBU
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31414817 rs 0x31415927, rt 0x00001110
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x80000001 rs 0x80000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x43406b27 rs 0x31415927, rt 0xee00ee00
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31415925 rs 0x31415927, rt 0x00000002
+subu $t0, $t1, $t2 :: rd 0x31415918 rs 0x31415927, rt 0x0000000f
+subu $t0, $t1, $t2 :: rd 0x31415917 rs 0x31415927, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x31415908 rs 0x31415927, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x31415907 rs 0x31415927, rt 0x00000020
+subu $t0, $t1, $t2 :: rd 0x31415906 rs 0x31415927, rt 0x00000021
+subu $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00087fff rs 0x00088000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00087fe1 rs 0x00088000, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x0000fff0 rs 0x00010000, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x0000ffef rs 0x00010000, rt 0x00000011
+subu $t0, $t1, $t2 :: rd 0x0000ffee rs 0x00010000, rt 0x00000012
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUB
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x0a2941ff rs 0x31415927, rt 0x27181728
+subu $t0, $t1, $t2 :: rd 0x9a2941ff rs 0x31415927, rt 0x97181728
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+XOR
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+XORI
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+xori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+xori $t0, $t1, 0xffff :: rt 0xffff0000 rs 0xffffffff, imm 0x0000ffff
+xori $t0, $t1, 0x7fff :: rt 0x7fff8000 rs 0x7fffffff, imm 0x00007fff
+xori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+MFHI MFLO
+mfhi mflo :: HI: 0x31415927, LO: 0x31415926
+mfhi mflo :: HI: 0x0, LO: 0xffffffff
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0x8000, LO: 0x7fff
+mfhi mflo :: HI: 0x80000000, LO: 0x7fffffff
+mfhi mflo :: HI: 0xffff, LO: 0xfffe
+mfhi mflo :: HI: 0x7fff, LO: 0x7ffe
+mfhi mflo :: HI: 0xdd0, LO: 0xdcf
+mfhi mflo :: HI: 0xff00, LO: 0xfeff
index ea3e134743f7bd94ef30d2bf74557ab07a577e48..2ea782c3e358e1adc1f753a8aa201e36ee15f95e 100644 (file)
@@ -5,17 +5,19 @@ dist_noinst_SCRIPTS = filter_stderr
 
 EXTRA_DIST = \
        branches.stdout.exp branches.stderr.exp branches.vgtest \
-       FPUarithmetic.stdout.exp FPUarithmetic.stderr.exp FPUarithmetic.vgtest \
+       FPUarithmetic.stdout.exp FPUarithmetic.stdout.exp-mips32 \
+        FPUarithmetic.stderr.exp FPUarithmetic.vgtest \
        LoadStore.stdout.exp LoadStore.stdout.exp-BE LoadStore.stderr.exp \
        LoadStore.vgtest \
        LoadStore1.stdout.exp LoadStore1.stdout.exp-LE LoadStore1.stderr.exp \
        LoadStore1.vgtest \
        MemCpyTest.stdout.exp MemCpyTest.stderr.exp MemCpyTest.vgtest \
-       MIPS32int.stdout.exp MIPS32int.stdout.exp-BE MIPS32int.stderr.exp \
-       MIPS32int.vgtest \
+       MIPS32int.stdout.exp MIPS32int.stdout.exp-BE MIPS32int.stdout.exp-mips32 \
+        MIPS32int.stderr.exp MIPS32int.vgtest \
        MoveIns.stdout.exp MoveIns.stdout.exp-BE MoveIns.stderr.exp MoveIns.vgtest \
        round.stdout.exp round.stderr.exp round.vgtest \
-       vfp.stdout.exp vfp.stdout.exp-BE vfp.stderr.exp vfp.vgtest
+       vfp.stdout.exp vfp.stdout.exp-BE vfp.stdout.exp-mips32 vfp.stderr.exp \
+        vfp.vgtest
 
 check_PROGRAMS = \
        allexec \
index 15367c14b1836e28fe6624ea29cd23adb015ed61..270ea6dd5a831ba89cda331e390fe499777e52b3 100644 (file)
@@ -154,8 +154,6 @@ void set_rounding_mode(round_mode_t mode)
 }
 
 int directedRoundingMode(flt_dir_op_t op) {
-   double fd_d = 0;
-   float fd_f =0;
    int fd_w = 0;
    int i;
    for (i = 0; i < 24; i++) {
@@ -266,3 +264,4 @@ int main()
    }
    return 0;
 }
+
index fe097b288962676964382da41f531004f081beae..b18c49c049579017bb3238283b46fff92b92db48 100644 (file)
@@ -284,6 +284,7 @@ int main()
    TESTINSN5LOADw("lwc1 $f0, 64($t1)", 0, 64, f0);
    TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
 
+#if (__mips==32) && (__mips_isa_rev>=2)
    printf("LWXC1\n");
    TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 0, f0, a3, v0);
    TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 4, f0, a3, v0);
@@ -317,7 +318,7 @@ int main()
    TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 48, f0, a3, v0);
    TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 52, f0, a3, v0);
    TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 56, f0, a3, v0);
-   
+
    printf("LDXC1\n");
    TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
    TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
@@ -351,6 +352,7 @@ int main()
    TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
    TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
    TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+#endif
 
    printf("SDC1\n");
    TESTINST1(0);
@@ -363,7 +365,8 @@ int main()
    TESTINST1(56);
    TESTINST1(64);
    ppMem(mem1, 16);
-   
+
+#if (__mips==32) && (__mips_isa_rev>=2) 
    printf("SDXC1\n");
    TESTINST1a(0);
    TESTINST1a(8);
@@ -375,6 +378,7 @@ int main()
    TESTINST1a(56);
    TESTINST1a(64);
    ppMem(mem1, 16);
+#endif
 
    printf("SWC1\n");
    TESTINST2(0);
@@ -387,7 +391,8 @@ int main()
    TESTINST2(56);
    TESTINST2(64);
    ppMemF(mem1f, 16);
-   
+
+#if (__mips==32) && (__mips_isa_rev>=2) 
    printf("SWXC1\n");
    TESTINST2a(0);
    TESTINST2a(8);
@@ -399,6 +404,8 @@ int main()
    TESTINST2a(56);
    TESTINST2a(64);
    ppMemF(mem1f, 16);
-   
+#endif
+
    return 0;
 }
+
diff --git a/none/tests/mips32/vfp.stdout.exp-mips32 b/none/tests/mips32/vfp.stdout.exp-mips32
new file mode 100644 (file)
index 0000000..1184a05
--- /dev/null
@@ -0,0 +1,86 @@
+LDC1
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+LWC1
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 4($t1) :: ft 0x66666666
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 12($t1) :: ft 0x0
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 20($t1) :: ft 0x0
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 28($t1) :: ft 0x262d2d2a
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 36($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 44($t1) :: ft 0xb487e5c9
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 52($t1) :: ft 0xb750e388
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 60($t1) :: ft 0xe2308c3a
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+SDC1
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0xb97f122f
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x66666666
+sdc1 $f0, 0($t0) :: out: 0x2101d847
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x51eb851f
+sdc1 $f0, 0($t0) :: out: 0x0
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SWC1
+swc1 $f0, 0($t0) :: out: 0x0
+swc1 $f0, 0($t0) :: out: 0x40400000
+swc1 $f0, 0($t0) :: out: 0x44ad1333
+swc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swc1 $f0, 0($t0) :: out: 0x44db0000
+swc1 $f0, 0($t0) :: out: 0x322bcc77
+swc1 $f0, 0($t0) :: out: 0xc732da7a
+swc1 $f0, 0($t0) :: out: 0x42080079
+swc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000