From 27fdf2318120a7cd501e6f2e8f0db65d37a670d7 Mon Sep 17 00:00:00 2001 From: Petar Jovanovic Date: Mon, 16 Jul 2012 14:07:47 +0000 Subject: [PATCH] Conditionally execute tests depending on revision of MIPS architecture. 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 | 9 + .../mips32/FPUarithmetic.stdout.exp-mips32 | 337 +++++ none/tests/mips32/MIPS32int.c | 8 + none/tests/mips32/MIPS32int.stdout.exp-mips32 | 1115 +++++++++++++++++ none/tests/mips32/Makefile.am | 10 +- none/tests/mips32/round.c | 3 +- none/tests/mips32/vfp.c | 15 +- none/tests/mips32/vfp.stdout.exp-mips32 | 86 ++ 8 files changed, 1573 insertions(+), 10 deletions(-) create mode 100644 none/tests/mips32/FPUarithmetic.stdout.exp-mips32 create mode 100644 none/tests/mips32/MIPS32int.stdout.exp-mips32 create mode 100644 none/tests/mips32/vfp.stdout.exp-mips32 diff --git a/none/tests/mips32/FPUarithmetic.c b/none/tests/mips32/FPUarithmetic.c index 4006dd5fea..3a76b3fdb3 100644 --- a/none/tests/mips32/FPUarithmetic.c +++ b/none/tests/mips32/FPUarithmetic.c @@ -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 index 0000000000..c33b2b2462 --- /dev/null +++ b/none/tests/mips32/FPUarithmetic.stdout.exp-mips32 @@ -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 diff --git a/none/tests/mips32/MIPS32int.c b/none/tests/mips32/MIPS32int.c index d6de707104..84f79a6468 100644 --- a/none/tests/mips32/MIPS32int.c +++ b/none/tests/mips32/MIPS32int.c @@ -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 index 0000000000..e7172e78b9 --- /dev/null +++ b/none/tests/mips32/MIPS32int.stdout.exp-mips32 @@ -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 diff --git a/none/tests/mips32/Makefile.am b/none/tests/mips32/Makefile.am index ea3e134743..2ea782c3e3 100644 --- a/none/tests/mips32/Makefile.am +++ b/none/tests/mips32/Makefile.am @@ -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 \ diff --git a/none/tests/mips32/round.c b/none/tests/mips32/round.c index 15367c14b1..270ea6dd5a 100644 --- a/none/tests/mips32/round.c +++ b/none/tests/mips32/round.c @@ -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; } + diff --git a/none/tests/mips32/vfp.c b/none/tests/mips32/vfp.c index fe097b2889..b18c49c049 100644 --- a/none/tests/mips32/vfp.c +++ b/none/tests/mips32/vfp.c @@ -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 index 0000000000..1184a057aa --- /dev/null +++ b/none/tests/mips32/vfp.stdout.exp-mips32 @@ -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 -- 2.47.2