From: Petar Jovanovic Date: Fri, 3 Jan 2020 17:29:11 +0000 (+0000) Subject: mips: Add tests for nanoMIPS instruction set X-Git-Tag: VALGRIND_3_16_0~152 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9acc066ffcf37ad04edfc801cc610ae64fa8d771;p=thirdparty%2Fvalgrind.git mips: Add tests for nanoMIPS instruction set Patch by Tamara Vlahovic, Aleksandar Rikalo and Dimitrije Nikolic. Related KDE issue: #400872. --- diff --git a/.gitignore b/.gitignore index 0d6f3af1b1..58dfee04f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1706,6 +1706,17 @@ /none/tests/mips64/unaligned_load /none/tests/mips64/unaligned_load_store +# /none/tests/nanomips/ +/none/tests/nanomips/Makefile +/none/tests/nanomips/Makefile.in +/none/tests/nanomips/.deps +/none/tests/nanomips/arithmetic +/none/tests/nanomips/bits +/none/tests/nanomips/branches +/none/tests/nanomips/load_store +/none/tests/nanomips/move +/none/tests/nanomips/pc_instructions + # /none/tests/ppc32/ /none/tests/ppc32/*.stderr.diff /none/tests/ppc32/*.stderr.out diff --git a/configure.ac b/configure.ac index 0d0e220c6a..3336329e9c 100755 --- a/configure.ac +++ b/configure.ac @@ -4843,6 +4843,7 @@ AC_CONFIG_FILES([ none/tests/s390x/Makefile none/tests/mips32/Makefile none/tests/mips64/Makefile + none/tests/nanomips/Makefile none/tests/linux/Makefile none/tests/darwin/Makefile none/tests/solaris/Makefile diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am index e2b0187664..e4a12cadc3 100644 --- a/none/tests/Makefile.am +++ b/none/tests/Makefile.am @@ -32,6 +32,10 @@ endif if VGCONF_ARCHS_INCLUDE_MIPS64 SUBDIRS += mips64 endif +if VGCONF_ARCHS_INCLUDE_NANOMIPS +SUBDIRS += nanomips +endif + # OS-specific tests if VGCONF_OS_IS_LINUX @@ -64,7 +68,7 @@ if VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS SUBDIRS += x86-solaris endif -DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm arm64 s390x mips32 mips64 \ +DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm arm64 s390x mips32 mips64 nanomips \ linux darwin solaris amd64-linux x86-linux amd64-darwin \ x86-darwin amd64-solaris x86-solaris scripts . diff --git a/none/tests/allexec_prepare_prereq b/none/tests/allexec_prepare_prereq index 09958b5525..a541f42994 100755 --- a/none/tests/allexec_prepare_prereq +++ b/none/tests/allexec_prepare_prereq @@ -33,5 +33,6 @@ pair ppc32 ppc64 pair s390x_unexisting_in_32bits s390x pair arm arm64 pair mips32 mips64 +pair nanomips nanoMIPS_unexisting_in_64bits exit 0 diff --git a/none/tests/nanomips/Makefile.am b/none/tests/nanomips/Makefile.am new file mode 100644 index 0000000000..a0ef139882 --- /dev/null +++ b/none/tests/nanomips/Makefile.am @@ -0,0 +1,33 @@ +include $(top_srcdir)/Makefile.tool-tests.am + +dist_noinst_SCRIPTS = filter_stderr + +EXTRA_DIST = \ + arithmetic.vgtest arithmetic.stderr.exp arithmetic.stdout.exp \ + bits.vgtest bits.stderr.exp bits.stdout.exp \ + branches.vgtest branches.stderr.exp branches.stdout.exp \ + load_store.vgtest load_store.stderr.exp load_store.stdout.exp \ + move.vgtest move.stderr.exp move.stdout.exp \ + pc_instructions.vgtest pc_instructions.stderr.exp pc_instructions.stdout.exp + +check_PROGRAMS = \ + arithmetic \ + bits \ + branches \ + load_store \ + move \ + pc_instructions \ + allexec + +arithmetic_CCASFLAGS = -Wa,-mpic $(AM_CCASFLAGS) +bits_CCASFLAGS = -Wa,-mpic $(AM_CCASFLAGS) +load_store_CCASFLAGS = -Wa,-mpic $(AM_CCASFLAGS) +move_CCASFLAGS = -Wa,-mpic $(AM_CCASFLAGS) +pc_instructions_CCASFLAGS = -Wa,-mpic $(AM_CCASFLAGS) + +arithmetic_SOURCES = mwrap_printf.c arithmetic.S +bits_SOURCES = mwrap_printf.c bits.S +branches_SOURCES = branches.c +load_store_SOURCES = mwrap_printf.c load_store.S +move_SOURCES = mwrap_printf.c move.S +pc_instructions_SOURCES = mwrap_printf.c pc_instructions.S diff --git a/none/tests/nanomips/allexec.c b/none/tests/nanomips/allexec.c new file mode 100644 index 0000000000..69e12081a1 --- /dev/null +++ b/none/tests/nanomips/allexec.c @@ -0,0 +1,56 @@ +#include +#include +#include +#include +#include +#include + +extern char **environ; + +#define S(...) (fprintf(stdout, __VA_ARGS__),fflush(stdout)) +#define FORKEXECWAIT(exec_call) do { \ + int status;\ + pid_t child = fork(); \ + if (child == 0) {exec_call; perror ("exec failed");} \ + else if (child == -1) perror ("cannot fork\n"); \ + else if (child != wait (&status)) perror ("error waiting child"); \ + else S("child exited\n"); \ + } while (0) + +void test_allexec (char *exec) +{ + FORKEXECWAIT (execlp(exec, exec, (char *) NULL)); + FORKEXECWAIT (execlp(exec, exec, "constant_arg1", "constant_arg2", + (char *) NULL)); + { + /* Solaris requires that the argv parameter to execve() isn't NULL, so + set it. Note that this isn't necessary on Linux. */ + char *const argv[] = {exec, NULL}; + FORKEXECWAIT (execve(exec, argv, environ)); + } +} + + +/* If a single argument "exec" is given, will execute itself + (in bi-arch, a 32 bit and 64 bit variant) via various exec system calls. + Note that this test can only be run after the prerequisite have been + prepared by allexec_prepare_prereq, which will a.o. make links + for the allexec32 and allexec64 executables. On single arch build, + these links points to the same executable to ensure this test works + everywhere the same. + No arguments or more arguments means just print its args. */ +int main(int argc, char **argv, char **envp) +{ + if ( (argc == 2) && (strcmp (argv[1], "exec") == 0)) { + S("%s will exec ./allexec32\n", argv[0]); + test_allexec ("./allexec32"); + S("%s will exec ./allexec64\n", argv[0]); + test_allexec ("./allexec64"); + } else { + int i; + S("program exec-ed:"); + for (i = 0; i < argc; i++) S(" %s", argv[i]); + S("\n"); + } + return 0; +} diff --git a/none/tests/nanomips/arithmetic.S b/none/tests/nanomips/arithmetic.S new file mode 100644 index 0000000000..6fe4257b7d --- /dev/null +++ b/none/tests/nanomips/arithmetic.S @@ -0,0 +1,1043 @@ + .data + test_ints: #12 + .word 0x0 + .word 0xFFFFFFFF + .word 0x55555555 + .word 0x00000002 + .word 0xAAAAAAAA + .word 0x33333333 + .word 0xFFFFFFFE + .word 0x00000001 + .word 0xCCCCCCCC + .word 0x0000000A + .word 0x12345678 + .word 0x9ABCDEF + + .text + .align 1 + + .macro THREE_REG label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®2, &offset1($ra) + li $ra, &mem2 + lw ®3, &offset2($ra) + &instruction ®1, ®2, ®3 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_16 label, instruction, reg1, reg2, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x old ®1 %08x ®2 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®1, &offset1($ra) + li $ra, &mem2 + lw ®2, &offset2($ra) + &instruction ®1, ®2 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_1_IMM label, instruction, reg1, reg2, offset, mem, imm + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x, &imm\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + &instruction ®1, ®2, &imm + move $a1, ®1 + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro ONE_REG_1_IMM label, instruction, reg, offset, mem, imm + .data + &label: + .ascii "&instruction ® %08x old ® %08x, &imm\n" + .byte 0 + .text + li $ra, &mem + lw ®, &offset($ra) + &instruction ®, &imm + move $a1, ® + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_1_IMM_SPECIAL label, instruction, special, reg, offset, mem, imm + .data + &label: + .ascii "&instruction ® %08x &special %08x, &imm\n" + .byte 0 + .text + move $ra, $sp + sw &special, 4($ra) + li ®, &mem + lw &special, &offset(®) + &instruction ®, &special, &imm + move $a1, ® + li $a0, &label + move $a2, &special + lw &special, 4($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .globl main + .ent main + .type main, @function +main: + .set noreorder + .set nomacro + addiu $sp, $sp, -32 + save[32] 48,$30,$31,$16-$24,$28 + +# add + THREE_REG message1, add, $s5, $a6, $a1, 20, 40, test_ints, test_ints + THREE_REG message2, add, $t0, $s2, $t2, 36, 28, test_ints, test_ints + THREE_REG message3, add, $s2, $a2, $t0, 36, 40, test_ints, test_ints + THREE_REG message4, add, $s4, $a5, $a3, 20, 16, test_ints, test_ints + THREE_REG message5, add, $s1, $t1, $t2, 0, 24, test_ints, test_ints + THREE_REG message6, add, $a2, $t3, $a7, 32, 4, test_ints, test_ints + THREE_REG message7, add, $s0, $s5, $a7, 36, 28, test_ints, test_ints + THREE_REG message9, add, $s4, $a7, $t1, 32, 0, test_ints, test_ints + THREE_REG message10, add, $t3, $a4, $t1, 40, 20, test_ints, test_ints + THREE_REG message11, add, $s6, $a3, $s3, 32, 12, test_ints, test_ints + THREE_REG message12, add, $s5, $a6, $a7, 36, 12, test_ints, test_ints + THREE_REG message13, add, $t0, $s1, $a0, 0, 8, test_ints, test_ints + THREE_REG message14, add, $t3, $a6, $t3, 0, 40, test_ints, test_ints + THREE_REG message15, add, $s6, $a0, $s5, 28, 4, test_ints, test_ints + THREE_REG message16, add, $a5, $a2, $t1, 44, 4, test_ints, test_ints + THREE_REG message17, add, $s3, $s1, $s4, 24, 36, test_ints, test_ints + THREE_REG message18, add, $s0, $a7, $s4, 44, 16, test_ints, test_ints + THREE_REG message19, add, $t3, $s7, $s1, 28, 12, test_ints, test_ints + THREE_REG message20, add, $s3, $s3, $t1, 12, 44, test_ints, test_ints + THREE_REG message21, add, $a4, $t1, $a0, 36, 0, test_ints, test_ints + THREE_REG message22, add, $s5, $a3, $s6, 8, 40, test_ints, test_ints + THREE_REG message23, add, $a3, $s5, $t3, 0, 12, test_ints, test_ints + THREE_REG message24, add, $a4, $s0, $s7, 0, 44, test_ints, test_ints + THREE_REG message25, add, $s7, $t3, $s2, 36, 12, test_ints, test_ints + THREE_REG message26, add, $s6, $a0, $s6, 28, 28, test_ints, test_ints + THREE_REG message27, add, $s5, $a7, $s4, 4, 4, test_ints, test_ints + THREE_REG message28, add, $a4, $t2, $a0, 12, 36, test_ints, test_ints + THREE_REG message29, add, $s2, $a6, $a6, 36, 40, test_ints, test_ints + THREE_REG message30, add, $s6, $a5, $s6, 4, 40, test_ints, test_ints + THREE_REG message31, add, $a1, $s0, $a5, 32, 36, test_ints, test_ints + THREE_REG message32, add, $s0, $a6, $a6, 8, 20, test_ints, test_ints + THREE_REG message33, add, $a1, $s0, $s1, 8, 4, test_ints, test_ints + THREE_REG message34, add, $a6, $s2, $s4, 24, 4, test_ints, test_ints + THREE_REG message35, add, $a5, $t0, $a0, 12, 4, test_ints, test_ints + THREE_REG message36, add, $a6, $a5, $a6, 20, 24, test_ints, test_ints + THREE_REG message37, add, $s4, $a2, $a7, 8, 40, test_ints, test_ints + THREE_REG message38, add, $s4, $t2, $a4, 40, 36, test_ints, test_ints + THREE_REG message39, add, $a6, $a4, $a1, 12, 40, test_ints, test_ints + THREE_REG message40, add, $s6, $s5, $a0, 40, 44, test_ints, test_ints + +# addu[32] + THREE_REG message41, addu[32], $s6, $a3, $a7, 40, 12, test_ints, test_ints + THREE_REG message42, addu[32], $t0, $s4, $a4, 8, 36, test_ints, test_ints + THREE_REG message43, addu[32], $a3, $a7, $s0, 40, 36, test_ints, test_ints + THREE_REG message44, addu[32], $a6, $s6, $s7, 28, 36, test_ints, test_ints + THREE_REG message45, addu[32], $s0, $t1, $a1, 4, 16, test_ints, test_ints + THREE_REG message46, addu[32], $a3, $t0, $s1, 44, 8, test_ints, test_ints + THREE_REG message47, addu[32], $a0, $s1, $s2, 12, 28, test_ints, test_ints + THREE_REG message48, addu[32], $t1, $s7, $a0, 20, 20, test_ints, test_ints + THREE_REG message49, addu[32], $a5, $t0, $s0, 20, 40, test_ints, test_ints + THREE_REG message50, addu[32], $a5, $s4, $a5, 4, 12, test_ints, test_ints + THREE_REG message51, addu[32], $a2, $s1, $a4, 44, 28, test_ints, test_ints + THREE_REG message52, addu[32], $a0, $t2, $a7, 20, 4, test_ints, test_ints + THREE_REG message53, addu[32], $a1, $s1, $s7, 44, 0, test_ints, test_ints + THREE_REG message54, addu[32], $a2, $a0, $s7, 24, 8, test_ints, test_ints + THREE_REG message55, addu[32], $t0, $s4, $a2, 4, 4, test_ints, test_ints + THREE_REG message56, addu[32], $s5, $s2, $a1, 40, 12, test_ints, test_ints + THREE_REG message57, addu[32], $s0, $s4, $a5, 16, 28, test_ints, test_ints + THREE_REG message58, addu[32], $t0, $a4, $t1, 12, 36, test_ints, test_ints + THREE_REG message59, addu[32], $a2, $a4, $s6, 20, 32, test_ints, test_ints + THREE_REG message60, addu[32], $s6, $s4, $a0, 20, 40, test_ints, test_ints + THREE_REG message61, addu[32], $a6, $t2, $s2, 36, 44, test_ints, test_ints + THREE_REG message62, addu[32], $a0, $s6, $t1, 20, 0, test_ints, test_ints + THREE_REG message63, addu[32], $a1, $a2, $t0, 24, 8, test_ints, test_ints + THREE_REG message64, addu[32], $s7, $a2, $s3, 32, 4, test_ints, test_ints + THREE_REG message65, addu[32], $t0, $s6, $a1, 12, 0, test_ints, test_ints + THREE_REG message66, addu[32], $a1, $t1, $t0, 24, 44, test_ints, test_ints + THREE_REG message67, addu[32], $s6, $a0, $s1, 4, 4, test_ints, test_ints + THREE_REG message68, addu[32], $a4, $a5, $t3, 4, 8, test_ints, test_ints + THREE_REG message69, addu[32], $a3, $a6, $s4, 12, 32, test_ints, test_ints + THREE_REG message70, addu[32], $t3, $a6, $t2, 8, 40, test_ints, test_ints + THREE_REG message71, addu[32], $s7, $t2, $t1, 20, 20, test_ints, test_ints + THREE_REG message72, addu[32], $a1, $s2, $t3, 4, 0, test_ints, test_ints + THREE_REG message73, addu[32], $s2, $s7, $t1, 44, 0, test_ints, test_ints + THREE_REG message74, addu[32], $a2, $s7, $t1, 8, 0, test_ints, test_ints + THREE_REG message75, addu[32], $s0, $t1, $s7, 32, 4, test_ints, test_ints + THREE_REG message76, addu[32], $t3, $t3, $a7, 8, 4, test_ints, test_ints + THREE_REG message77, addu[32], $s2, $s5, $s4, 44, 24, test_ints, test_ints + THREE_REG message78, addu[32], $s5, $a0, $s5, 0, 36, test_ints, test_ints + THREE_REG message79, addu[32], $s1, $s6, $a4, 40, 20, test_ints, test_ints + THREE_REG message80, addu[32], $t1, $s1, $a0, 8, 12, test_ints, test_ints + +# addu[16] + THREE_REG message81, addu[16], $a1, $a2, $s0, 32, 44, test_ints, test_ints + THREE_REG message82, addu[16], $s1, $a3, $a2, 36, 4, test_ints, test_ints + THREE_REG message83, addu[16], $a0, $s3, $a3, 0, 24, test_ints, test_ints + THREE_REG message84, addu[16], $s1, $s1, $a2, 8, 8, test_ints, test_ints + THREE_REG message85, addu[16], $s3, $a0, $a0, 12, 40, test_ints, test_ints + THREE_REG message86, addu[16], $s2, $a0, $s3, 24, 44, test_ints, test_ints + THREE_REG message87, addu[16], $s2, $a3, $s1, 28, 44, test_ints, test_ints + THREE_REG message88, addu[16], $s0, $a0, $s3, 12, 4, test_ints, test_ints + THREE_REG message89, addu[16], $a0, $s3, $a0, 12, 44, test_ints, test_ints + THREE_REG message90, addu[16], $a2, $a1, $s0, 0, 28, test_ints, test_ints + THREE_REG message91, addu[16], $s2, $a3, $a3, 28, 28, test_ints, test_ints + THREE_REG message92, addu[16], $s2, $s1, $a3, 36, 28, test_ints, test_ints + THREE_REG message93, addu[16], $s2, $s0, $a3, 16, 44, test_ints, test_ints + THREE_REG message94, addu[16], $s2, $a0, $s3, 4, 44, test_ints, test_ints + THREE_REG message95, addu[16], $a1, $s2, $s2, 20, 36, test_ints, test_ints + THREE_REG message96, addu[16], $s1, $s0, $a2, 40, 16, test_ints, test_ints + THREE_REG message97, addu[16], $s2, $a0, $s0, 4, 44, test_ints, test_ints + THREE_REG message98, addu[16], $s3, $s3, $s0, 8, 4, test_ints, test_ints + THREE_REG message99, addu[16], $s0, $a1, $a1, 44, 4, test_ints, test_ints + THREE_REG message100, addu[16], $a0, $s1, $s1, 12, 28, test_ints, test_ints + THREE_REG message101, addu[16], $s1, $a0, $a1, 28, 40, test_ints, test_ints + THREE_REG message102, addu[16], $a2, $a1, $s2, 36, 44, test_ints, test_ints + THREE_REG message103, addu[16], $s2, $a3, $a3, 40, 0, test_ints, test_ints + THREE_REG message104, addu[16], $a3, $a1, $s0, 44, 0, test_ints, test_ints + THREE_REG message105, addu[16], $a1, $a3, $s1, 8, 40, test_ints, test_ints + THREE_REG message106, addu[16], $a2, $a2, $a0, 44, 20, test_ints, test_ints + THREE_REG message107, addu[16], $a3, $s0, $a2, 0, 0, test_ints, test_ints + THREE_REG message108, addu[16], $s0, $s2, $a1, 40, 44, test_ints, test_ints + THREE_REG message109, addu[16], $s0, $a0, $s2, 28, 28, test_ints, test_ints + THREE_REG message110, addu[16], $a3, $a2, $s0, 44, 24, test_ints, test_ints + THREE_REG message111, addu[16], $a0, $a0, $s1, 36, 8, test_ints, test_ints + THREE_REG message112, addu[16], $a0, $s3, $s0, 32, 12, test_ints, test_ints + THREE_REG message113, addu[16], $s1, $a3, $a3, 44, 44, test_ints, test_ints + THREE_REG message114, addu[16], $a3, $a3, $s1, 0, 20, test_ints, test_ints + THREE_REG message115, addu[16], $a1, $a0, $s2, 44, 0, test_ints, test_ints + THREE_REG message116, addu[16], $a1, $a2, $a2, 4, 36, test_ints, test_ints + THREE_REG message117, addu[16], $s0, $s2, $a1, 40, 44, test_ints, test_ints + THREE_REG message118, addu[16], $a3, $a2, $a3, 12, 40, test_ints, test_ints + THREE_REG message119, addu[16], $a2, $s1, $s1, 20, 32, test_ints, test_ints + THREE_REG message120, addu[16], $s0, $a1, $a0, 4, 36, test_ints, test_ints + +# addu[4x4] + TWO_REG_16 message121, addu[4x4], $s5, $s2, 8, 12, test_ints, test_ints + TWO_REG_16 message122, addu[4x4], $s2, $s6, 32, 16, test_ints, test_ints + TWO_REG_16 message123, addu[4x4], $a0, $a2, 8, 20, test_ints, test_ints + TWO_REG_16 message124, addu[4x4], $s0, $s7, 12, 12, test_ints, test_ints + TWO_REG_16 message125, addu[4x4], $a3, $s1, 24, 40, test_ints, test_ints + TWO_REG_16 message126, addu[4x4], $a3, $s0, 28, 32, test_ints, test_ints + TWO_REG_16 message127, addu[4x4], $s6, $a4, 32, 44, test_ints, test_ints + TWO_REG_16 message128, addu[4x4], $s4, $s5, 0, 36, test_ints, test_ints + TWO_REG_16 message129, addu[4x4], $s0, $a2, 4, 24, test_ints, test_ints + TWO_REG_16 message130, addu[4x4], $a0, $a1, 8, 4, test_ints, test_ints + TWO_REG_16 message131, addu[4x4], $a3, $a4, 40, 12, test_ints, test_ints + TWO_REG_16 message132, addu[4x4], $a4, $s5, 28, 12, test_ints, test_ints + TWO_REG_16 message133, addu[4x4], $a6, $a5, 4, 4, test_ints, test_ints + TWO_REG_16 message134, addu[4x4], $s6, $s1, 36, 16, test_ints, test_ints + TWO_REG_16 message135, addu[4x4], $s5, $s5, 12, 4, test_ints, test_ints + TWO_REG_16 message136, addu[4x4], $s2, $a7, 40, 24, test_ints, test_ints + TWO_REG_16 message137, addu[4x4], $s2, $s7, 16, 40, test_ints, test_ints + TWO_REG_16 message138, addu[4x4], $a1, $a3, 12, 32, test_ints, test_ints + TWO_REG_16 message139, addu[4x4], $a7, $s1, 0, 28, test_ints, test_ints + TWO_REG_16 message140, addu[4x4], $a6, $a7, 8, 32, test_ints, test_ints + +# div + THREE_REG message141, div, $a4, $a0, $a1, 8, 32, test_ints, test_ints+4 + THREE_REG message142, div, $s2, $s2, $s6, 28, 28, test_ints, test_ints+4 + THREE_REG message143, div, $a3, $a6, $a1, 4, 24, test_ints, test_ints+4 + THREE_REG message144, div, $a3, $s1, $a1, 36, 40, test_ints, test_ints+4 + THREE_REG message145, div, $t0, $s5, $a2, 28, 24, test_ints, test_ints+4 + THREE_REG message146, div, $a6, $t3, $a1, 4, 0, test_ints, test_ints+4 + THREE_REG message147, div, $t1, $s2, $a1, 28, 24, test_ints, test_ints+4 + THREE_REG message148, div, $a6, $s1, $t3, 16, 8, test_ints, test_ints+4 + THREE_REG message149, div, $t0, $s7, $a7, 20, 36, test_ints, test_ints+4 + THREE_REG message150, div, $t3, $a4, $t2, 0, 16, test_ints, test_ints+4 + THREE_REG message151, div, $t0, $s0, $a3, 40, 28, test_ints, test_ints+4 + THREE_REG message152, div, $a1, $t1, $s7, 40, 8, test_ints, test_ints+4 + THREE_REG message153, div, $t0, $s4, $a4, 40, 12, test_ints, test_ints+4 + THREE_REG message154, div, $a5, $t0, $s4, 32, 40, test_ints, test_ints+4 + THREE_REG message155, div, $s5, $s4, $t0, 32, 0, test_ints, test_ints+4 + THREE_REG message156, div, $a5, $s4, $t2, 44, 4, test_ints, test_ints+4 + THREE_REG message157, div, $t0, $s3, $a5, 28, 16, test_ints, test_ints+4 + THREE_REG message158, div, $s1, $s5, $s3, 32, 4, test_ints, test_ints+4 + THREE_REG message159, div, $a5, $a0, $a7, 8, 32, test_ints, test_ints+4 + THREE_REG message160, div, $a2, $a7, $t3, 28, 4, test_ints, test_ints+4 + THREE_REG message161, div, $a0, $a0, $a7, 0, 24, test_ints, test_ints+4 + THREE_REG message162, div, $a1, $a2, $t1, 16, 28, test_ints, test_ints+4 + THREE_REG message163, div, $s5, $a0, $s1, 8, 24, test_ints, test_ints+4 + THREE_REG message164, div, $a3, $t3, $a5, 8, 28, test_ints, test_ints+4 + THREE_REG message165, div, $s4, $s3, $t0, 32, 40, test_ints, test_ints+4 + THREE_REG message166, div, $t2, $s6, $a0, 36, 12, test_ints, test_ints+4 + THREE_REG message167, div, $s7, $t1, $a2, 12, 32, test_ints, test_ints+4 + THREE_REG message168, div, $t3, $t0, $a0, 16, 16, test_ints, test_ints+4 + THREE_REG message169, div, $t1, $a1, $s1, 24, 0, test_ints, test_ints+4 + THREE_REG message170, div, $a1, $a1, $t3, 8, 40, test_ints, test_ints+4 + THREE_REG message171, div, $s7, $s2, $t3, 44, 36, test_ints, test_ints+4 + THREE_REG message172, div, $a4, $a1, $t1, 4, 16, test_ints, test_ints+4 + THREE_REG message173, div, $t2, $s4, $a0, 16, 4, test_ints, test_ints+4 + THREE_REG message174, div, $a6, $s3, $s4, 8, 16, test_ints, test_ints+4 + THREE_REG message175, div, $s4, $a4, $a1, 20, 24, test_ints, test_ints+4 + THREE_REG message176, div, $s5, $s6, $t0, 32, 40, test_ints, test_ints+4 + THREE_REG message177, div, $s7, $s3, $a3, 40, 8, test_ints, test_ints+4 + THREE_REG message178, div, $a5, $s3, $t0, 8, 36, test_ints, test_ints+4 + THREE_REG message179, div, $a7, $a1, $a0, 44, 28, test_ints, test_ints+4 + THREE_REG message180, div, $s0, $a6, $t1, 32, 40, test_ints, test_ints+4 + +# divu + THREE_REG message181, divu, $t0, $a4, $s0, 4, 0, test_ints, test_ints+4 + THREE_REG message182, divu, $a3, $s6, $s4, 44, 4, test_ints, test_ints+4 + THREE_REG message183, divu, $t1, $t2, $a2, 32, 0, test_ints, test_ints+4 + THREE_REG message184, divu, $t1, $t1, $s0, 20, 28, test_ints, test_ints+4 + THREE_REG message185, divu, $s0, $a4, $a5, 0, 16, test_ints, test_ints+4 + THREE_REG message186, divu, $s2, $a0, $s1, 44, 20, test_ints, test_ints+4 + THREE_REG message187, divu, $a2, $t0, $t1, 24, 28, test_ints, test_ints+4 + THREE_REG message188, divu, $s7, $t1, $a4, 44, 32, test_ints, test_ints+4 + THREE_REG message189, divu, $s7, $t0, $t3, 36, 40, test_ints, test_ints+4 + THREE_REG message190, divu, $t0, $t2, $a6, 0, 12, test_ints, test_ints+4 + THREE_REG message191, divu, $t2, $a4, $t3, 28, 0, test_ints, test_ints+4 + THREE_REG message192, divu, $a3, $s5, $t1, 0, 32, test_ints, test_ints+4 + THREE_REG message193, divu, $a1, $a6, $s1, 8, 40, test_ints, test_ints+4 + THREE_REG message194, divu, $t2, $s5, $t2, 40, 0, test_ints, test_ints+4 + THREE_REG message195, divu, $t3, $s1, $a1, 40, 16, test_ints, test_ints+4 + THREE_REG message196, divu, $t2, $s6, $t1, 32, 0, test_ints, test_ints+4 + THREE_REG message197, divu, $s5, $s6, $a6, 16, 16, test_ints, test_ints+4 + THREE_REG message198, divu, $a2, $a7, $s2, 28, 36, test_ints, test_ints+4 + THREE_REG message199, divu, $a3, $s5, $t2, 16, 8, test_ints, test_ints+4 + THREE_REG message200, divu, $t3, $a3, $s1, 40, 28, test_ints, test_ints+4 + THREE_REG message201, divu, $s6, $t1, $a7, 28, 4, test_ints, test_ints+4 + THREE_REG message202, divu, $a6, $a5, $a1, 44, 8, test_ints, test_ints+4 + THREE_REG message203, divu, $s3, $a0, $s7, 4, 8, test_ints, test_ints+4 + THREE_REG message204, divu, $s4, $a3, $s4, 12, 16, test_ints, test_ints+4 + THREE_REG message205, divu, $a4, $s2, $a0, 44, 24, test_ints, test_ints+4 + THREE_REG message206, divu, $s7, $s6, $s2, 0, 20, test_ints, test_ints+4 + THREE_REG message207, divu, $t3, $s2, $s5, 8, 8, test_ints, test_ints+4 + THREE_REG message208, divu, $a0, $a4, $s3, 4, 12, test_ints, test_ints+4 + THREE_REG message209, divu, $a5, $a4, $s4, 16, 0, test_ints, test_ints+4 + THREE_REG message210, divu, $t1, $a5, $s1, 40, 12, test_ints, test_ints+4 + THREE_REG message211, divu, $t0, $a6, $a2, 16, 4, test_ints, test_ints+4 + THREE_REG message212, divu, $s1, $a3, $t0, 28, 20, test_ints, test_ints+4 + THREE_REG message213, divu, $a0, $s3, $s2, 24, 40, test_ints, test_ints+4 + THREE_REG message214, divu, $s0, $a6, $a6, 32, 32, test_ints, test_ints+4 + THREE_REG message215, divu, $t2, $t1, $t0, 40, 16, test_ints, test_ints+4 + THREE_REG message216, divu, $a2, $s4, $a2, 28, 4, test_ints, test_ints+4 + THREE_REG message217, divu, $s6, $t3, $a0, 20, 4, test_ints, test_ints+4 + THREE_REG message218, divu, $a2, $a6, $a2, 40, 20, test_ints, test_ints+4 + THREE_REG message219, divu, $a2, $a2, $s1, 36, 20, test_ints, test_ints+4 + THREE_REG message220, divu, $t2, $s5, $a7, 32, 4, test_ints, test_ints+4 + +# mod + THREE_REG message221, mod, $t3, $s6, $s6, 12, 0, test_ints, test_ints+4 + THREE_REG message222, mod, $s4, $s1, $a1, 24, 20, test_ints, test_ints+4 + THREE_REG message223, mod, $a7, $a1, $s3, 12, 8, test_ints, test_ints+4 + THREE_REG message224, mod, $s2, $a1, $a4, 4, 20, test_ints, test_ints+4 + THREE_REG message225, mod, $s6, $s7, $a6, 28, 12, test_ints, test_ints+4 + THREE_REG message226, mod, $a6, $s6, $a6, 4, 0, test_ints, test_ints+4 + THREE_REG message227, mod, $a3, $a4, $t1, 40, 8, test_ints, test_ints+4 + THREE_REG message228, mod, $a6, $s2, $a1, 12, 40, test_ints, test_ints+4 + THREE_REG message229, mod, $a6, $a6, $s1, 4, 16, test_ints, test_ints+4 + THREE_REG message230, mod, $t3, $a0, $t3, 0, 20, test_ints, test_ints+4 + THREE_REG message231, mod, $a2, $s2, $a0, 16, 40, test_ints, test_ints+4 + THREE_REG message232, mod, $s5, $a7, $a0, 28, 24, test_ints, test_ints+4 + THREE_REG message233, mod, $a2, $a2, $s1, 12, 20, test_ints, test_ints+4 + THREE_REG message234, mod, $a1, $s1, $a2, 8, 16, test_ints, test_ints+4 + THREE_REG message235, mod, $s3, $a0, $a6, 32, 20, test_ints, test_ints+4 + THREE_REG message236, mod, $a4, $s4, $a2, 44, 0, test_ints, test_ints+4 + THREE_REG message237, mod, $a7, $s1, $t2, 12, 16, test_ints, test_ints+4 + THREE_REG message238, mod, $t0, $a0, $s1, 0, 0, test_ints, test_ints+4 + THREE_REG message239, mod, $s5, $s3, $a6, 8, 40, test_ints, test_ints+4 + THREE_REG message240, mod, $t2, $a3, $a4, 4, 16, test_ints, test_ints+4 + THREE_REG message241, mod, $a4, $a4, $s2, 44, 20, test_ints, test_ints+4 + THREE_REG message242, mod, $a4, $a7, $a0, 8, 32, test_ints, test_ints+4 + THREE_REG message243, mod, $a0, $a5, $s3, 28, 12, test_ints, test_ints+4 + THREE_REG message244, mod, $s5, $a7, $t1, 8, 12, test_ints, test_ints+4 + THREE_REG message245, mod, $s1, $t0, $t3, 28, 40, test_ints, test_ints+4 + THREE_REG message246, mod, $s5, $a5, $s6, 36, 40, test_ints, test_ints+4 + THREE_REG message247, mod, $a4, $s6, $s6, 8, 4, test_ints, test_ints+4 + THREE_REG message248, mod, $a3, $s3, $a4, 12, 36, test_ints, test_ints+4 + THREE_REG message249, mod, $t2, $a4, $s7, 4, 8, test_ints, test_ints+4 + THREE_REG message250, mod, $a0, $s7, $s6, 4, 40, test_ints, test_ints+4 + THREE_REG message251, mod, $a2, $t2, $a5, 36, 36, test_ints, test_ints+4 + THREE_REG message252, mod, $t0, $s7, $s3, 24, 32, test_ints, test_ints+4 + THREE_REG message253, mod, $s1, $a6, $s2, 16, 8, test_ints, test_ints+4 + THREE_REG message254, mod, $a7, $a7, $a3, 44, 40, test_ints, test_ints+4 + THREE_REG message255, mod, $s5, $a1, $t2, 32, 20, test_ints, test_ints+4 + THREE_REG message256, mod, $a5, $a0, $t2, 16, 36, test_ints, test_ints+4 + THREE_REG message257, mod, $a7, $s6, $s0, 20, 24, test_ints, test_ints+4 + THREE_REG message258, mod, $a5, $a1, $a3, 32, 24, test_ints, test_ints+4 + THREE_REG message259, mod, $t3, $t2, $s1, 40, 24, test_ints, test_ints+4 + THREE_REG message260, mod, $a1, $t1, $a1, 36, 8, test_ints, test_ints+4 + +# modu + THREE_REG message261, modu, $s7, $a2, $a2, 8, 40, test_ints, test_ints+4 + THREE_REG message262, modu, $t1, $t3, $s6, 12, 16, test_ints, test_ints+4 + THREE_REG message263, modu, $s7, $a3, $t2, 12, 32, test_ints, test_ints+4 + THREE_REG message264, modu, $s6, $a1, $a1, 4, 4, test_ints, test_ints+4 + THREE_REG message265, modu, $a4, $s0, $s7, 36, 4, test_ints, test_ints+4 + THREE_REG message266, modu, $s1, $t2, $s0, 8, 4, test_ints, test_ints+4 + THREE_REG message267, modu, $s1, $t2, $s1, 44, 16, test_ints, test_ints+4 + THREE_REG message268, modu, $a3, $a1, $a3, 4, 32, test_ints, test_ints+4 + THREE_REG message269, modu, $a7, $a5, $a3, 20, 24, test_ints, test_ints+4 + THREE_REG message270, modu, $a3, $s3, $s5, 32, 24, test_ints, test_ints+4 + THREE_REG message271, modu, $a3, $a0, $s0, 24, 8, test_ints, test_ints+4 + THREE_REG message272, modu, $t3, $a0, $t0, 44, 8, test_ints, test_ints+4 + THREE_REG message273, modu, $a3, $s0, $a0, 36, 24, test_ints, test_ints+4 + THREE_REG message274, modu, $a4, $s0, $a4, 0, 28, test_ints, test_ints+4 + THREE_REG message275, modu, $s5, $a7, $a7, 32, 28, test_ints, test_ints+4 + THREE_REG message276, modu, $t3, $s4, $s7, 4, 40, test_ints, test_ints+4 + THREE_REG message277, modu, $a7, $s0, $s1, 44, 12, test_ints, test_ints+4 + THREE_REG message278, modu, $a6, $a6, $t2, 40, 8, test_ints, test_ints+4 + THREE_REG message279, modu, $s5, $t2, $s5, 4, 24, test_ints, test_ints+4 + THREE_REG message280, modu, $t1, $s2, $a3, 36, 16, test_ints, test_ints+4 + THREE_REG message281, modu, $s5, $t2, $t1, 0, 20, test_ints, test_ints+4 + THREE_REG message282, modu, $a1, $s4, $t3, 32, 0, test_ints, test_ints+4 + THREE_REG message283, modu, $a7, $s7, $t1, 32, 12, test_ints, test_ints+4 + THREE_REG message284, modu, $s7, $a3, $s1, 24, 40, test_ints, test_ints+4 + THREE_REG message285, modu, $s6, $t3, $s7, 32, 32, test_ints, test_ints+4 + THREE_REG message286, modu, $s2, $t1, $s6, 8, 40, test_ints, test_ints+4 + THREE_REG message287, modu, $t0, $t3, $s1, 36, 36, test_ints, test_ints+4 + THREE_REG message288, modu, $s0, $a6, $t0, 12, 32, test_ints, test_ints+4 + THREE_REG message289, modu, $a5, $s6, $s5, 8, 20, test_ints, test_ints+4 + THREE_REG message290, modu, $t0, $s1, $a6, 20, 28, test_ints, test_ints+4 + THREE_REG message291, modu, $s7, $s3, $s6, 44, 16, test_ints, test_ints+4 + THREE_REG message292, modu, $s3, $a1, $a0, 36, 40, test_ints, test_ints+4 + THREE_REG message293, modu, $s3, $s6, $a7, 0, 0, test_ints, test_ints+4 + THREE_REG message294, modu, $s3, $a0, $a6, 28, 12, test_ints, test_ints+4 + THREE_REG message295, modu, $a4, $a4, $s5, 40, 32, test_ints, test_ints+4 + THREE_REG message296, modu, $t0, $a6, $s7, 8, 32, test_ints, test_ints+4 + THREE_REG message297, modu, $a3, $s2, $s6, 20, 40, test_ints, test_ints+4 + THREE_REG message298, modu, $t2, $s0, $s6, 8, 28, test_ints, test_ints+4 + THREE_REG message299, modu, $a2, $a1, $a0, 36, 0, test_ints, test_ints+4 + THREE_REG message300, modu, $s3, $s4, $a5, 4, 36, test_ints, test_ints+4 + +# muh + THREE_REG message301, muh, $a4, $s6, $a3, 8, 0, test_ints, test_ints + THREE_REG message302, muh, $a1, $a6, $t2, 16, 4, test_ints, test_ints + THREE_REG message303, muh, $a1, $s3, $a3, 28, 20, test_ints, test_ints + THREE_REG message304, muh, $t0, $t1, $a1, 8, 0, test_ints, test_ints + THREE_REG message305, muh, $t3, $t0, $s1, 44, 4, test_ints, test_ints + THREE_REG message306, muh, $s7, $a3, $s1, 32, 32, test_ints, test_ints + THREE_REG message307, muh, $a0, $t1, $a6, 12, 44, test_ints, test_ints + THREE_REG message308, muh, $s2, $s0, $a5, 16, 20, test_ints, test_ints + THREE_REG message309, muh, $t2, $s5, $a0, 4, 20, test_ints, test_ints + THREE_REG message310, muh, $s5, $s1, $s2, 12, 32, test_ints, test_ints + THREE_REG message311, muh, $t2, $a6, $s0, 0, 24, test_ints, test_ints + THREE_REG message312, muh, $a6, $a7, $s5, 44, 12, test_ints, test_ints + THREE_REG message313, muh, $t1, $a0, $s0, 32, 12, test_ints, test_ints + THREE_REG message314, muh, $a7, $a6, $t0, 36, 28, test_ints, test_ints + THREE_REG message315, muh, $a5, $s3, $a0, 4, 36, test_ints, test_ints + THREE_REG message316, muh, $s5, $s3, $s6, 16, 24, test_ints, test_ints + THREE_REG message317, muh, $t2, $s6, $s0, 28, 40, test_ints, test_ints + THREE_REG message318, muh, $t2, $t1, $a1, 12, 0, test_ints, test_ints + THREE_REG message319, muh, $s5, $s1, $t0, 20, 4, test_ints, test_ints + THREE_REG message320, muh, $s4, $s1, $s3, 16, 40, test_ints, test_ints + THREE_REG message321, muh, $t2, $a5, $a5, 12, 8, test_ints, test_ints + THREE_REG message322, muh, $a2, $s4, $a5, 4, 0, test_ints, test_ints + THREE_REG message323, muh, $a7, $t3, $a3, 16, 8, test_ints, test_ints + THREE_REG message324, muh, $s1, $s6, $s7, 28, 24, test_ints, test_ints + THREE_REG message325, muh, $a0, $a4, $t3, 32, 4, test_ints, test_ints + THREE_REG message326, muh, $a4, $a0, $a6, 28, 16, test_ints, test_ints + THREE_REG message327, muh, $a0, $t2, $t1, 24, 20, test_ints, test_ints + THREE_REG message328, muh, $s4, $a0, $a1, 36, 20, test_ints, test_ints + THREE_REG message329, muh, $a2, $t1, $a1, 4, 20, test_ints, test_ints + THREE_REG message330, muh, $t3, $s6, $a7, 28, 4, test_ints, test_ints + THREE_REG message331, muh, $t1, $a7, $s5, 0, 12, test_ints, test_ints + THREE_REG message332, muh, $s3, $s4, $s0, 4, 0, test_ints, test_ints + THREE_REG message333, muh, $a0, $t2, $s2, 8, 16, test_ints, test_ints + THREE_REG message334, muh, $t3, $a2, $s0, 32, 12, test_ints, test_ints + THREE_REG message335, muh, $s2, $s6, $s0, 28, 12, test_ints, test_ints + THREE_REG message336, muh, $s5, $a2, $a6, 36, 36, test_ints, test_ints + THREE_REG message337, muh, $s7, $s2, $t0, 4, 44, test_ints, test_ints + THREE_REG message338, muh, $s4, $a0, $s3, 32, 36, test_ints, test_ints + THREE_REG message339, muh, $a3, $s4, $a7, 4, 8, test_ints, test_ints + THREE_REG message340, muh, $s7, $s4, $a4, 16, 20, test_ints, test_ints + +# muhu + THREE_REG message341, muhu, $t0, $a6, $s3, 32, 20, test_ints, test_ints + THREE_REG message342, muhu, $a3, $a2, $a3, 36, 44, test_ints, test_ints + THREE_REG message343, muhu, $s5, $t0, $t1, 20, 36, test_ints, test_ints + THREE_REG message344, muhu, $a4, $s5, $t1, 0, 4, test_ints, test_ints + THREE_REG message345, muhu, $s7, $s3, $t2, 40, 4, test_ints, test_ints + THREE_REG message346, muhu, $a0, $s2, $s1, 4, 40, test_ints, test_ints + THREE_REG message347, muhu, $a6, $a5, $s4, 24, 4, test_ints, test_ints + THREE_REG message348, muhu, $a1, $s5, $s7, 0, 24, test_ints, test_ints + THREE_REG message349, muhu, $s2, $t1, $s2, 32, 12, test_ints, test_ints + THREE_REG message350, muhu, $s0, $a4, $a4, 4, 16, test_ints, test_ints + THREE_REG message351, muhu, $s2, $s4, $t0, 0, 44, test_ints, test_ints + THREE_REG message352, muhu, $s5, $s4, $t1, 40, 20, test_ints, test_ints + THREE_REG message353, muhu, $a3, $a1, $s6, 28, 28, test_ints, test_ints + THREE_REG message354, muhu, $s0, $s0, $s4, 44, 32, test_ints, test_ints + THREE_REG message355, muhu, $t2, $a6, $s6, 16, 40, test_ints, test_ints + THREE_REG message356, muhu, $s5, $s0, $a2, 36, 8, test_ints, test_ints + THREE_REG message357, muhu, $a7, $s3, $a6, 44, 12, test_ints, test_ints + THREE_REG message358, muhu, $a5, $s0, $t0, 40, 40, test_ints, test_ints + THREE_REG message359, muhu, $t1, $t1, $a3, 32, 32, test_ints, test_ints + THREE_REG message360, muhu, $a2, $s4, $s4, 24, 12, test_ints, test_ints + THREE_REG message361, muhu, $s1, $a4, $a5, 28, 20, test_ints, test_ints + THREE_REG message362, muhu, $s3, $s0, $s5, 24, 20, test_ints, test_ints + THREE_REG message363, muhu, $a7, $s5, $a1, 8, 32, test_ints, test_ints + THREE_REG message364, muhu, $a4, $s3, $t0, 32, 40, test_ints, test_ints + THREE_REG message365, muhu, $t2, $s2, $s7, 8, 8, test_ints, test_ints + THREE_REG message366, muhu, $a0, $t0, $a6, 0, 44, test_ints, test_ints + THREE_REG message367, muhu, $a5, $s5, $t3, 12, 0, test_ints, test_ints + THREE_REG message368, muhu, $t0, $s6, $t0, 8, 32, test_ints, test_ints + THREE_REG message369, muhu, $a6, $s1, $s5, 12, 28, test_ints, test_ints + THREE_REG message370, muhu, $a1, $s3, $t3, 20, 16, test_ints, test_ints + THREE_REG message371, muhu, $t1, $t0, $s6, 16, 24, test_ints, test_ints + THREE_REG message372, muhu, $s0, $a4, $s6, 24, 20, test_ints, test_ints + THREE_REG message373, muhu, $s1, $s3, $s6, 20, 40, test_ints, test_ints + THREE_REG message374, muhu, $s7, $t1, $s1, 44, 28, test_ints, test_ints + THREE_REG message375, muhu, $a1, $s1, $s1, 44, 0, test_ints, test_ints + THREE_REG message376, muhu, $t0, $t0, $a0, 44, 24, test_ints, test_ints + THREE_REG message377, muhu, $a4, $a4, $a2, 40, 4, test_ints, test_ints + THREE_REG message378, muhu, $s4, $t2, $s5, 40, 32, test_ints, test_ints + THREE_REG message379, muhu, $s6, $a0, $a7, 20, 36, test_ints, test_ints + THREE_REG message380, muhu, $a2, $t0, $t2, 12, 28, test_ints, test_ints + +# mul[32] + THREE_REG message381, mul[32], $t2, $a4, $s1, 28, 12, test_ints, test_ints + THREE_REG message382, mul[32], $a5, $a7, $s0, 20, 12, test_ints, test_ints + THREE_REG message383, mul[32], $s6, $a1, $s3, 32, 28, test_ints, test_ints + THREE_REG message384, mul[32], $a0, $s4, $t1, 24, 24, test_ints, test_ints + THREE_REG message385, mul[32], $s5, $s0, $s2, 4, 20, test_ints, test_ints + THREE_REG message386, mul[32], $s3, $s7, $t1, 40, 8, test_ints, test_ints + THREE_REG message387, mul[32], $t1, $s4, $a6, 40, 28, test_ints, test_ints + THREE_REG message388, mul[32], $t2, $s3, $s2, 8, 20, test_ints, test_ints + THREE_REG message389, mul[32], $a5, $a4, $s2, 4, 32, test_ints, test_ints + THREE_REG message390, mul[32], $a2, $s1, $t0, 12, 44, test_ints, test_ints + THREE_REG message391, mul[32], $a6, $a5, $a4, 20, 24, test_ints, test_ints + THREE_REG message392, mul[32], $a5, $s4, $a5, 44, 24, test_ints, test_ints + THREE_REG message393, mul[32], $s7, $s4, $t2, 20, 40, test_ints, test_ints + THREE_REG message394, mul[32], $a1, $s3, $a1, 0, 20, test_ints, test_ints + THREE_REG message395, mul[32], $s2, $s1, $a5, 36, 24, test_ints, test_ints + THREE_REG message396, mul[32], $s1, $s7, $s0, 20, 24, test_ints, test_ints + THREE_REG message397, mul[32], $a3, $s4, $a3, 28, 20, test_ints, test_ints + THREE_REG message398, mul[32], $s5, $t1, $a5, 8, 32, test_ints, test_ints + THREE_REG message399, mul[32], $s4, $t1, $t0, 40, 28, test_ints, test_ints + THREE_REG message400, mul[32], $s6, $a4, $a2, 12, 32, test_ints, test_ints + THREE_REG message401, mul[32], $a4, $t2, $s1, 36, 28, test_ints, test_ints + THREE_REG message402, mul[32], $a0, $s3, $a6, 16, 0, test_ints, test_ints + THREE_REG message403, mul[32], $a4, $s7, $s0, 0, 44, test_ints, test_ints + THREE_REG message404, mul[32], $a1, $a5, $t0, 12, 0, test_ints, test_ints + THREE_REG message405, mul[32], $a0, $s3, $s5, 0, 20, test_ints, test_ints + THREE_REG message406, mul[32], $t0, $a2, $s1, 12, 4, test_ints, test_ints + THREE_REG message407, mul[32], $s1, $s7, $s7, 44, 32, test_ints, test_ints + THREE_REG message408, mul[32], $a6, $s3, $a7, 16, 12, test_ints, test_ints + THREE_REG message409, mul[32], $t0, $a1, $t2, 16, 4, test_ints, test_ints + THREE_REG message410, mul[32], $a5, $t2, $t2, 4, 20, test_ints, test_ints + THREE_REG message411, mul[32], $a6, $a1, $a0, 32, 20, test_ints, test_ints + THREE_REG message412, mul[32], $a5, $s0, $t3, 12, 44, test_ints, test_ints + THREE_REG message413, mul[32], $s1, $t0, $a6, 0, 44, test_ints, test_ints + THREE_REG message414, mul[32], $s7, $s7, $t2, 40, 28, test_ints, test_ints + THREE_REG message415, mul[32], $a1, $s2, $s4, 0, 12, test_ints, test_ints + THREE_REG message416, mul[32], $a5, $a5, $t1, 32, 28, test_ints, test_ints + THREE_REG message417, mul[32], $a6, $a2, $a0, 8, 24, test_ints, test_ints + THREE_REG message418, mul[32], $s2, $a3, $s7, 36, 24, test_ints, test_ints + THREE_REG message419, mul[32], $s6, $s2, $a7, 36, 44, test_ints, test_ints + THREE_REG message420, mul[32], $s6, $t0, $s6, 36, 40, test_ints, test_ints + +# mul[4x4] + TWO_REG_16 message421, mul[4x4], $a1, $s6, 20, 8, test_ints, test_ints + TWO_REG_16 message422, mul[4x4], $a2, $s4, 44, 0, test_ints, test_ints + TWO_REG_16 message423, mul[4x4], $a5, $s3, 44, 12, test_ints, test_ints + TWO_REG_16 message424, mul[4x4], $s2, $s7, 20, 32, test_ints, test_ints + TWO_REG_16 message425, mul[4x4], $s5, $a0, 12, 28, test_ints, test_ints + TWO_REG_16 message426, mul[4x4], $a3, $s6, 20, 40, test_ints, test_ints + TWO_REG_16 message427, mul[4x4], $a3, $a4, 32, 12, test_ints, test_ints + TWO_REG_16 message428, mul[4x4], $s6, $s5, 4, 16, test_ints, test_ints + TWO_REG_16 message429, mul[4x4], $s4, $s6, 40, 40, test_ints, test_ints + TWO_REG_16 message430, mul[4x4], $s2, $s5, 8, 44, test_ints, test_ints + TWO_REG_16 message431, mul[4x4], $s1, $s1, 24, 44, test_ints, test_ints + TWO_REG_16 message432, mul[4x4], $s1, $s3, 44, 40, test_ints, test_ints + TWO_REG_16 message433, mul[4x4], $s4, $s3, 36, 44, test_ints, test_ints + TWO_REG_16 message434, mul[4x4], $s1, $s3, 4, 0, test_ints, test_ints + TWO_REG_16 message435, mul[4x4], $s7, $a5, 12, 40, test_ints, test_ints + TWO_REG_16 message436, mul[4x4], $a3, $s0, 24, 12, test_ints, test_ints + TWO_REG_16 message437, mul[4x4], $a7, $a4, 4, 20, test_ints, test_ints + TWO_REG_16 message438, mul[4x4], $a1, $s4, 36, 8, test_ints, test_ints + TWO_REG_16 message439, mul[4x4], $a5, $s3, 20, 8, test_ints, test_ints + TWO_REG_16 message440, mul[4x4], $a7, $s5, 4, 12, test_ints, test_ints + +# mulu + THREE_REG message441, mulu, $a0, $a2, $s6, 4, 4, test_ints, test_ints + THREE_REG message442, mulu, $a3, $s5, $s1, 16, 32, test_ints, test_ints + THREE_REG message443, mulu, $a3, $a3, $a0, 4, 24, test_ints, test_ints + THREE_REG message444, mulu, $s3, $s1, $s0, 20, 40, test_ints, test_ints + THREE_REG message445, mulu, $a0, $a6, $a5, 20, 36, test_ints, test_ints + THREE_REG message446, mulu, $s6, $t0, $t0, 28, 4, test_ints, test_ints + THREE_REG message447, mulu, $a7, $t3, $s7, 36, 16, test_ints, test_ints + THREE_REG message448, mulu, $t1, $t0, $a5, 8, 36, test_ints, test_ints + THREE_REG message449, mulu, $a5, $a1, $t0, 8, 40, test_ints, test_ints + THREE_REG message450, mulu, $a7, $s1, $s3, 12, 8, test_ints, test_ints + THREE_REG message451, mulu, $a5, $a7, $a0, 8, 0, test_ints, test_ints + THREE_REG message452, mulu, $a2, $t1, $a0, 40, 0, test_ints, test_ints + THREE_REG message453, mulu, $a5, $a6, $s0, 20, 28, test_ints, test_ints + THREE_REG message454, mulu, $a0, $s2, $t0, 40, 16, test_ints, test_ints + THREE_REG message455, mulu, $s1, $s7, $s1, 20, 4, test_ints, test_ints + THREE_REG message456, mulu, $s3, $a4, $a3, 40, 12, test_ints, test_ints + THREE_REG message457, mulu, $a5, $t3, $s2, 40, 8, test_ints, test_ints + THREE_REG message458, mulu, $a7, $s0, $t3, 28, 24, test_ints, test_ints + THREE_REG message459, mulu, $s7, $a5, $a4, 28, 8, test_ints, test_ints + THREE_REG message460, mulu, $a4, $t0, $s0, 0, 24, test_ints, test_ints + THREE_REG message461, mulu, $s0, $a1, $a1, 36, 40, test_ints, test_ints + THREE_REG message462, mulu, $s7, $a0, $a3, 8, 8, test_ints, test_ints + THREE_REG message463, mulu, $a6, $s7, $s5, 36, 4, test_ints, test_ints + THREE_REG message464, mulu, $s7, $a4, $a1, 24, 44, test_ints, test_ints + THREE_REG message465, mulu, $a0, $a2, $s0, 32, 20, test_ints, test_ints + THREE_REG message466, mulu, $a6, $a0, $a5, 8, 32, test_ints, test_ints + THREE_REG message467, mulu, $a3, $s6, $a5, 36, 28, test_ints, test_ints + THREE_REG message468, mulu, $t0, $s4, $s7, 12, 40, test_ints, test_ints + THREE_REG message469, mulu, $a1, $t1, $s1, 28, 24, test_ints, test_ints + THREE_REG message470, mulu, $a3, $s6, $s2, 32, 20, test_ints, test_ints + THREE_REG message471, mulu, $a6, $t0, $a3, 8, 4, test_ints, test_ints + THREE_REG message472, mulu, $s4, $s5, $a5, 8, 44, test_ints, test_ints + THREE_REG message473, mulu, $s2, $s5, $a6, 28, 8, test_ints, test_ints + THREE_REG message474, mulu, $a1, $a3, $a2, 4, 40, test_ints, test_ints + THREE_REG message475, mulu, $t0, $s2, $s4, 40, 20, test_ints, test_ints + THREE_REG message476, mulu, $t2, $a1, $a4, 4, 20, test_ints, test_ints + THREE_REG message477, mulu, $t1, $a7, $s6, 0, 36, test_ints, test_ints + THREE_REG message478, mulu, $a7, $a4, $a6, 0, 24, test_ints, test_ints + THREE_REG message479, mulu, $a6, $s6, $t0, 32, 24, test_ints, test_ints + THREE_REG message480, mulu, $t2, $s5, $a5, 36, 24, test_ints, test_ints + +# sub + THREE_REG message481, sub, $s4, $s1, $a5, 16, 28, test_ints, test_ints + THREE_REG message482, sub, $s6, $a6, $a0, 8, 12, test_ints, test_ints + THREE_REG message483, sub, $a6, $a7, $a6, 16, 12, test_ints, test_ints + THREE_REG message484, sub, $a0, $t3, $a4, 8, 12, test_ints, test_ints + THREE_REG message485, sub, $t2, $s4, $t2, 40, 0, test_ints, test_ints + THREE_REG message486, sub, $a0, $a5, $a2, 4, 8, test_ints, test_ints + THREE_REG message487, sub, $a4, $a1, $t3, 36, 4, test_ints, test_ints + THREE_REG message488, sub, $t3, $s0, $t0, 44, 24, test_ints, test_ints + THREE_REG message489, sub, $s7, $t1, $s2, 24, 4, test_ints, test_ints + THREE_REG message490, sub, $s1, $a2, $s0, 4, 0, test_ints, test_ints + THREE_REG message491, sub, $s4, $t0, $s5, 40, 40, test_ints, test_ints + THREE_REG message492, sub, $s1, $s6, $t3, 12, 44, test_ints, test_ints + THREE_REG message493, sub, $t1, $a0, $a5, 4, 20, test_ints, test_ints + THREE_REG message494, sub, $s6, $s0, $s1, 8, 28, test_ints, test_ints + THREE_REG message495, sub, $a0, $a6, $a5, 40, 16, test_ints, test_ints + THREE_REG message496, sub, $a6, $s3, $a2, 44, 36, test_ints, test_ints + THREE_REG message497, sub, $s2, $s3, $a5, 44, 20, test_ints, test_ints + THREE_REG message498, sub, $t3, $t1, $a7, 28, 0, test_ints, test_ints + THREE_REG message499, sub, $s2, $t0, $a0, 28, 36, test_ints, test_ints + THREE_REG message500, sub, $a2, $s2, $s5, 44, 32, test_ints, test_ints + THREE_REG message501, sub, $a1, $s7, $s2, 24, 20, test_ints, test_ints + THREE_REG message502, sub, $s2, $t0, $s1, 0, 12, test_ints, test_ints + THREE_REG message503, sub, $s2, $s7, $s6, 28, 24, test_ints, test_ints + THREE_REG message504, sub, $t3, $s6, $a7, 40, 20, test_ints, test_ints + THREE_REG message505, sub, $s0, $s1, $a2, 0, 32, test_ints, test_ints + THREE_REG message506, sub, $a7, $a2, $t2, 20, 24, test_ints, test_ints + THREE_REG message507, sub, $s3, $a6, $s5, 36, 32, test_ints, test_ints + THREE_REG message508, sub, $s3, $a4, $s4, 32, 0, test_ints, test_ints + THREE_REG message509, sub, $s0, $a2, $a3, 24, 20, test_ints, test_ints + THREE_REG message510, sub, $a6, $s6, $s7, 36, 32, test_ints, test_ints + THREE_REG message511, sub, $a1, $s5, $a1, 28, 40, test_ints, test_ints + THREE_REG message512, sub, $s2, $a2, $t0, 32, 12, test_ints, test_ints + THREE_REG message513, sub, $s6, $s3, $s5, 32, 36, test_ints, test_ints + THREE_REG message514, sub, $s1, $s3, $s1, 8, 44, test_ints, test_ints + THREE_REG message515, sub, $s1, $a2, $a5, 36, 32, test_ints, test_ints + THREE_REG message517, sub, $a3, $a2, $s2, 32, 4, test_ints, test_ints + THREE_REG message518, sub, $t0, $a6, $a0, 32, 12, test_ints, test_ints + THREE_REG message519, sub, $a7, $t3, $t2, 20, 28, test_ints, test_ints + THREE_REG message520, sub, $a3, $a2, $a2, 32, 16, test_ints, test_ints + +# subu[32] + THREE_REG message521, subu[32], $a5, $a6, $s2, 40, 28, test_ints, test_ints + THREE_REG message522, subu[32], $a7, $s0, $a2, 36, 36, test_ints, test_ints + THREE_REG message523, subu[32], $t2, $a4, $a4, 16, 36, test_ints, test_ints + THREE_REG message524, subu[32], $a1, $t0, $t3, 4, 4, test_ints, test_ints + THREE_REG message525, subu[32], $t2, $s5, $s4, 4, 40, test_ints, test_ints + THREE_REG message526, subu[32], $a3, $s4, $a0, 20, 4, test_ints, test_ints + THREE_REG message527, subu[32], $s1, $a2, $a3, 28, 32, test_ints, test_ints + THREE_REG message528, subu[32], $s6, $t2, $a4, 32, 0, test_ints, test_ints + THREE_REG message529, subu[32], $t1, $a6, $s4, 4, 12, test_ints, test_ints + THREE_REG message530, subu[32], $a5, $s7, $a3, 36, 0, test_ints, test_ints + THREE_REG message531, subu[32], $a4, $s7, $s5, 16, 0, test_ints, test_ints + THREE_REG message532, subu[32], $s3, $s3, $t1, 16, 0, test_ints, test_ints + THREE_REG message533, subu[32], $a6, $s5, $t2, 4, 16, test_ints, test_ints + THREE_REG message534, subu[32], $s6, $a7, $s7, 8, 28, test_ints, test_ints + THREE_REG message535, subu[32], $s7, $s0, $s5, 12, 36, test_ints, test_ints + THREE_REG message536, subu[32], $s4, $a5, $t0, 0, 40, test_ints, test_ints + THREE_REG message537, subu[32], $t1, $s4, $a1, 8, 20, test_ints, test_ints + THREE_REG message538, subu[32], $a6, $a6, $s4, 12, 24, test_ints, test_ints + THREE_REG message539, subu[32], $a1, $a1, $s7, 28, 24, test_ints, test_ints + THREE_REG message540, subu[32], $s3, $a6, $s1, 40, 0, test_ints, test_ints + THREE_REG message541, subu[32], $t0, $a1, $t0, 4, 36, test_ints, test_ints + THREE_REG message542, subu[32], $t2, $a2, $t2, 40, 40, test_ints, test_ints + THREE_REG message543, subu[32], $a4, $a3, $a2, 36, 40, test_ints, test_ints + THREE_REG message544, subu[32], $s7, $s3, $a4, 0, 8, test_ints, test_ints + THREE_REG message545, subu[32], $a6, $s5, $a7, 4, 16, test_ints, test_ints + THREE_REG message546, subu[32], $s1, $a4, $s2, 40, 12, test_ints, test_ints + THREE_REG message547, subu[32], $t3, $a6, $a4, 28, 16, test_ints, test_ints + THREE_REG message548, subu[32], $t1, $a5, $s2, 28, 32, test_ints, test_ints + THREE_REG message549, subu[32], $a0, $t3, $a7, 8, 20, test_ints, test_ints + THREE_REG message550, subu[32], $t1, $a2, $s0, 36, 8, test_ints, test_ints + THREE_REG message551, subu[32], $s7, $t3, $s7, 24, 0, test_ints, test_ints + THREE_REG message552, subu[32], $s3, $t0, $t1, 24, 40, test_ints, test_ints + THREE_REG message553, subu[32], $s0, $s5, $a5, 32, 32, test_ints, test_ints + THREE_REG message554, subu[32], $a1, $a2, $s2, 12, 4, test_ints, test_ints + THREE_REG message555, subu[32], $a2, $a3, $s1, 4, 20, test_ints, test_ints + THREE_REG message556, subu[32], $a6, $s3, $t3, 8, 32, test_ints, test_ints + THREE_REG message557, subu[32], $s5, $a1, $a4, 16, 0, test_ints, test_ints + THREE_REG message558, subu[32], $t0, $s4, $a4, 4, 40, test_ints, test_ints + THREE_REG message559, subu[32], $s2, $a5, $s3, 28, 40, test_ints, test_ints + THREE_REG message560, subu[32], $a3, $a0, $s4, 20, 44, test_ints, test_ints + +# subu[16] + THREE_REG message561, subu[16], $a1, $a3, $a2, 40, 36, test_ints, test_ints + THREE_REG message562, subu[16], $a0, $s0, $s0, 44, 12, test_ints, test_ints + THREE_REG message563, subu[16], $a0, $s1, $a0, 0, 4, test_ints, test_ints + THREE_REG message564, subu[16], $a0, $a1, $s1, 32, 40, test_ints, test_ints + THREE_REG message565, subu[16], $a3, $a3, $s0, 24, 24, test_ints, test_ints + THREE_REG message566, subu[16], $a2, $a2, $a3, 40, 44, test_ints, test_ints + THREE_REG message567, subu[16], $s2, $a3, $s3, 36, 40, test_ints, test_ints + THREE_REG message568, subu[16], $a0, $a1, $a2, 32, 16, test_ints, test_ints + THREE_REG message569, subu[16], $s1, $s0, $s1, 8, 20, test_ints, test_ints + THREE_REG message570, subu[16], $s3, $s2, $s2, 16, 44, test_ints, test_ints + THREE_REG message571, subu[16], $a0, $a0, $s2, 0, 24, test_ints, test_ints + THREE_REG message572, subu[16], $s0, $s2, $a0, 44, 0, test_ints, test_ints + THREE_REG message573, subu[16], $s0, $s2, $s0, 12, 28, test_ints, test_ints + THREE_REG message574, subu[16], $a2, $a3, $a0, 0, 44, test_ints, test_ints + THREE_REG message575, subu[16], $a0, $a2, $a3, 8, 0, test_ints, test_ints + THREE_REG message576, subu[16], $a0, $s1, $s2, 24, 36, test_ints, test_ints + THREE_REG message577, subu[16], $a1, $s3, $a1, 44, 28, test_ints, test_ints + THREE_REG message578, subu[16], $a0, $s0, $a2, 0, 44, test_ints, test_ints + THREE_REG message579, subu[16], $a2, $s0, $a1, 24, 28, test_ints, test_ints + THREE_REG message580, subu[16], $a0, $a0, $a2, 16, 4, test_ints, test_ints + THREE_REG message581, subu[16], $a1, $a1, $s3, 20, 44, test_ints, test_ints + THREE_REG message582, subu[16], $s3, $s1, $s0, 20, 16, test_ints, test_ints + THREE_REG message583, subu[16], $s1, $s3, $a3, 28, 40, test_ints, test_ints + THREE_REG message584, subu[16], $s2, $s3, $a2, 32, 28, test_ints, test_ints + THREE_REG message585, subu[16], $s2, $a3, $s0, 28, 36, test_ints, test_ints + THREE_REG message586, subu[16], $a3, $a0, $a2, 8, 16, test_ints, test_ints + THREE_REG message587, subu[16], $s3, $s3, $a1, 8, 32, test_ints, test_ints + THREE_REG message588, subu[16], $a0, $s1, $a2, 32, 8, test_ints, test_ints + THREE_REG message589, subu[16], $s2, $a2, $a1, 36, 4, test_ints, test_ints + THREE_REG message590, subu[16], $a0, $s3, $a0, 24, 16, test_ints, test_ints + THREE_REG message591, subu[16], $s3, $a0, $a3, 28, 16, test_ints, test_ints + THREE_REG message592, subu[16], $s0, $s3, $a0, 24, 4, test_ints, test_ints + THREE_REG message593, subu[16], $a0, $s1, $s0, 24, 12, test_ints, test_ints + THREE_REG message594, subu[16], $a1, $a2, $a0, 12, 28, test_ints, test_ints + THREE_REG message595, subu[16], $a3, $a1, $a1, 16, 8, test_ints, test_ints + THREE_REG message596, subu[16], $a2, $s0, $a1, 8, 44, test_ints, test_ints + THREE_REG message597, subu[16], $a1, $a1, $s3, 0, 20, test_ints, test_ints + THREE_REG message598, subu[16], $s3, $a1, $s0, 44, 28, test_ints, test_ints + THREE_REG message599, subu[16], $a1, $a0, $s1, 36, 8, test_ints, test_ints + THREE_REG message600, subu[16], $a0, $s2, $s0, 4, 4, test_ints, test_ints + +# addiu[32] + TWO_REG_1_IMM message601, addiu[32], $a3, $a0, 24, test_ints, 7140 + TWO_REG_1_IMM message602, addiu[32], $a4, $a4, 40, test_ints, 49885 + TWO_REG_1_IMM message603, addiu[32], $a6, $a0, 16, test_ints, 1959 + TWO_REG_1_IMM message604, addiu[32], $a6, $a7, 0, test_ints, 45791 + TWO_REG_1_IMM message605, addiu[32], $s3, $a5, 12, test_ints, 19034 + TWO_REG_1_IMM message606, addiu[32], $s0, $a4, 40, test_ints, 12529 + TWO_REG_1_IMM message607, addiu[32], $a5, $a4, 8, test_ints, 40680 + TWO_REG_1_IMM message608, addiu[32], $t1, $s3, 4, test_ints, 828 + TWO_REG_1_IMM message609, addiu[32], $a3, $a0, 20, test_ints, 20951 + TWO_REG_1_IMM message610, addiu[32], $t0, $a3, 16, test_ints, 55726 + TWO_REG_1_IMM message611, addiu[32], $a4, $s0, 8, test_ints, 53562 + TWO_REG_1_IMM message612, addiu[32], $s0, $s6, 20, test_ints, 42143 + TWO_REG_1_IMM message613, addiu[32], $s3, $s0, 4, test_ints, 16555 + TWO_REG_1_IMM message614, addiu[32], $a4, $a0, 20, test_ints, 24593 + TWO_REG_1_IMM message615, addiu[32], $t0, $s7, 36, test_ints, 44457 + TWO_REG_1_IMM message616, addiu[32], $a6, $s7, 8, test_ints, 61417 + TWO_REG_1_IMM message617, addiu[32], $a7, $s3, 0, test_ints, 62551 + TWO_REG_1_IMM message618, addiu[32], $a6, $s5, 40, test_ints, 24670 + TWO_REG_1_IMM message619, addiu[32], $a1, $a4, 16, test_ints, 41561 + TWO_REG_1_IMM message620, addiu[32], $s2, $s5, 32, test_ints, 39341 + TWO_REG_1_IMM message621, addiu[32], $s5, $a2, 16, test_ints, 36181 + TWO_REG_1_IMM message622, addiu[32], $s6, $s5, 12, test_ints, 36862 + TWO_REG_1_IMM message623, addiu[32], $s0, $s0, 0, test_ints, 21558 + TWO_REG_1_IMM message624, addiu[32], $a3, $s2, 28, test_ints, 28810 + TWO_REG_1_IMM message625, addiu[32], $s5, $s0, 24, test_ints, 42131 + TWO_REG_1_IMM message626, addiu[32], $s5, $s0, 40, test_ints, 57450 + TWO_REG_1_IMM message627, addiu[32], $a4, $t2, 0, test_ints, 20082 + TWO_REG_1_IMM message628, addiu[32], $s4, $a0, 44, test_ints, 17217 + TWO_REG_1_IMM message629, addiu[32], $s6, $s7, 44, test_ints, 11556 + TWO_REG_1_IMM message630, addiu[32], $a1, $t2, 12, test_ints, 54065 + +# addiu[48] + ONE_REG_1_IMM message631, addiu[48], $a6, 28, test_ints, -465671856 + ONE_REG_1_IMM message632, addiu[48], $a7, 32, test_ints, 1143693630 + ONE_REG_1_IMM message633, addiu[48], $t1, 16, test_ints, 1561085778 + ONE_REG_1_IMM message634, addiu[48], $t2, 8, test_ints, -617608244 + ONE_REG_1_IMM message635, addiu[48], $a7, 44, test_ints, 1288814930 + ONE_REG_1_IMM message636, addiu[48], $t2, 8, test_ints, -1256568320 + ONE_REG_1_IMM message637, addiu[48], $a5, 12, test_ints, 236779048 + ONE_REG_1_IMM message638, addiu[48], $a5, 20, test_ints, -42931667 + ONE_REG_1_IMM message639, addiu[48], $a0, 4, test_ints, 1928300342 + ONE_REG_1_IMM message640, addiu[48], $s4, 36, test_ints, -1529565618 + ONE_REG_1_IMM message641, addiu[48], $a4, 8, test_ints, -500125624 + ONE_REG_1_IMM message642, addiu[48], $a0, 24, test_ints, 850131496 + ONE_REG_1_IMM message643, addiu[48], $s0, 36, test_ints, -587248398 + ONE_REG_1_IMM message644, addiu[48], $s7, 24, test_ints, -921250080 + ONE_REG_1_IMM message645, addiu[48], $a4, 32, test_ints, -1791276953 + ONE_REG_1_IMM message646, addiu[48], $s7, 36, test_ints, 1476596520 + ONE_REG_1_IMM message647, addiu[48], $a1, 40, test_ints, -1625976710 + ONE_REG_1_IMM message648, addiu[48], $a7, 24, test_ints, -2040070494 + ONE_REG_1_IMM message649, addiu[48], $t0, 12, test_ints, 1223202760 + ONE_REG_1_IMM message650, addiu[48], $a3, 36, test_ints, -45966582 + ONE_REG_1_IMM message651, addiu[48], $a0, 44, test_ints, -918691842 + ONE_REG_1_IMM message652, addiu[48], $s5, 44, test_ints, -1213869130 + ONE_REG_1_IMM message653, addiu[48], $t3, 24, test_ints, 762950234 + ONE_REG_1_IMM message654, addiu[48], $s6, 20, test_ints, -192620833 + ONE_REG_1_IMM message655, addiu[48], $s6, 28, test_ints, -660880494 + ONE_REG_1_IMM message656, addiu[48], $t3, 4, test_ints, 291054978 + ONE_REG_1_IMM message657, addiu[48], $a7, 8, test_ints, -744642069 + ONE_REG_1_IMM message658, addiu[48], $s4, 24, test_ints, -323771572 + ONE_REG_1_IMM message659, addiu[48], $a1, 40, test_ints, -1592932734 + ONE_REG_1_IMM message660, addiu[48], $s7, 12, test_ints, -670559898 + +# addiu[gp48] + TWO_REG_1_IMM_SPECIAL message661, addiu[gp48], $gp, $s1, 16, test_ints, 1311809568 + TWO_REG_1_IMM_SPECIAL message662, addiu[gp48], $gp, $t2, 12, test_ints, -1070341696 + TWO_REG_1_IMM_SPECIAL message663, addiu[gp48], $gp, $a7, 12, test_ints, 1874428017 + TWO_REG_1_IMM_SPECIAL message664, addiu[gp48], $gp, $s0, 28, test_ints, -2105214727 + TWO_REG_1_IMM_SPECIAL message665, addiu[gp48], $gp, $s7, 24, test_ints, 1295869856 + TWO_REG_1_IMM_SPECIAL message666, addiu[gp48], $gp, $s0, 16, test_ints, -245720420 + TWO_REG_1_IMM_SPECIAL message667, addiu[gp48], $gp, $a4, 12, test_ints, 631876925 + TWO_REG_1_IMM_SPECIAL message668, addiu[gp48], $gp, $a5, 44, test_ints, -2073354357 + TWO_REG_1_IMM_SPECIAL message669, addiu[gp48], $gp, $s0, 32, test_ints, 2112095053 + TWO_REG_1_IMM_SPECIAL message670, addiu[gp48], $gp, $t0, 0, test_ints, 813958861 + TWO_REG_1_IMM_SPECIAL message671, addiu[gp48], $gp, $s1, 40, test_ints, -1901698450 + TWO_REG_1_IMM_SPECIAL message672, addiu[gp48], $gp, $t3, 40, test_ints, -1349164963 + TWO_REG_1_IMM_SPECIAL message673, addiu[gp48], $gp, $t2, 40, test_ints, -1289376568 + TWO_REG_1_IMM_SPECIAL message674, addiu[gp48], $gp, $t0, 8, test_ints, 431061413 + TWO_REG_1_IMM_SPECIAL message675, addiu[gp48], $gp, $a2, 32, test_ints, 455103016 + TWO_REG_1_IMM_SPECIAL message676, addiu[gp48], $gp, $t3, 36, test_ints, 1292360594 + TWO_REG_1_IMM_SPECIAL message677, addiu[gp48], $gp, $t0, 0, test_ints, -111832532 + TWO_REG_1_IMM_SPECIAL message678, addiu[gp48], $gp, $s7, 12, test_ints, 291016344 + TWO_REG_1_IMM_SPECIAL message679, addiu[gp48], $gp, $a5, 32, test_ints, 182944358 + TWO_REG_1_IMM_SPECIAL message680, addiu[gp48], $gp, $s6, 20, test_ints, -381820280 + TWO_REG_1_IMM_SPECIAL message681, addiu[gp48], $gp, $a7, 44, test_ints, -62091552 + TWO_REG_1_IMM_SPECIAL message682, addiu[gp48], $gp, $t0, 28, test_ints, 382131998 + TWO_REG_1_IMM_SPECIAL message683, addiu[gp48], $gp, $a7, 0, test_ints, 681196701 + TWO_REG_1_IMM_SPECIAL message684, addiu[gp48], $gp, $t3, 40, test_ints, 328178348 + TWO_REG_1_IMM_SPECIAL message685, addiu[gp48], $gp, $a3, 4, test_ints, -1199714982 + TWO_REG_1_IMM_SPECIAL message686, addiu[gp48], $gp, $t2, 32, test_ints, 461175938 + TWO_REG_1_IMM_SPECIAL message687, addiu[gp48], $gp, $a3, 40, test_ints, -445495488 + TWO_REG_1_IMM_SPECIAL message688, addiu[gp48], $gp, $t1, 0, test_ints, -265869360 + TWO_REG_1_IMM_SPECIAL message689, addiu[gp48], $gp, $s6, 12, test_ints, 918571223 + TWO_REG_1_IMM_SPECIAL message690, addiu[gp48], $gp, $s3, 28, test_ints, -557718104 + +# addiu[gp.b] + TWO_REG_1_IMM_SPECIAL message691, addiu[gp.b], $gp, $a1, 8, test_ints, 78600 + TWO_REG_1_IMM_SPECIAL message692, addiu[gp.b], $gp, $a4, 24, test_ints, 57200 + TWO_REG_1_IMM_SPECIAL message693, addiu[gp.b], $gp, $s5, 28, test_ints, 116132 + TWO_REG_1_IMM_SPECIAL message694, addiu[gp.b], $gp, $t1, 4, test_ints, 53256 + TWO_REG_1_IMM_SPECIAL message695, addiu[gp.b], $gp, $a3, 32, test_ints, 259917 + TWO_REG_1_IMM_SPECIAL message696, addiu[gp.b], $gp, $s4, 20, test_ints, 178338 + TWO_REG_1_IMM_SPECIAL message697, addiu[gp.b], $gp, $a4, 36, test_ints, 62233 + TWO_REG_1_IMM_SPECIAL message698, addiu[gp.b], $gp, $a1, 4, test_ints, 55788 + TWO_REG_1_IMM_SPECIAL message699, addiu[gp.b], $gp, $s7, 24, test_ints, 89684 + TWO_REG_1_IMM_SPECIAL message700, addiu[gp.b], $gp, $s0, 36, test_ints, 122755 + TWO_REG_1_IMM_SPECIAL message701, addiu[gp.b], $gp, $t0, 0, test_ints, 230802 + TWO_REG_1_IMM_SPECIAL message702, addiu[gp.b], $gp, $a6, 24, test_ints, 147527 + TWO_REG_1_IMM_SPECIAL message703, addiu[gp.b], $gp, $s7, 24, test_ints, 194424 + TWO_REG_1_IMM_SPECIAL message704, addiu[gp.b], $gp, $s7, 8, test_ints, 69000 + TWO_REG_1_IMM_SPECIAL message705, addiu[gp.b], $gp, $s3, 4, test_ints, 198343 + TWO_REG_1_IMM_SPECIAL message706, addiu[gp.b], $gp, $a7, 24, test_ints, 77218 + TWO_REG_1_IMM_SPECIAL message707, addiu[gp.b], $gp, $a4, 32, test_ints, 245490 + TWO_REG_1_IMM_SPECIAL message708, addiu[gp.b], $gp, $s1, 20, test_ints, 177642 + TWO_REG_1_IMM_SPECIAL message709, addiu[gp.b], $gp, $a2, 32, test_ints, 187600 + TWO_REG_1_IMM_SPECIAL message710, addiu[gp.b], $gp, $s3, 36, test_ints, 31198 + TWO_REG_1_IMM_SPECIAL message711, addiu[gp.b], $gp, $a0, 4, test_ints, 162979 + TWO_REG_1_IMM_SPECIAL message712, addiu[gp.b], $gp, $s7, 28, test_ints, 78097 + TWO_REG_1_IMM_SPECIAL message713, addiu[gp.b], $gp, $a5, 28, test_ints, 91168 + TWO_REG_1_IMM_SPECIAL message714, addiu[gp.b], $gp, $a1, 12, test_ints, 237458 + TWO_REG_1_IMM_SPECIAL message715, addiu[gp.b], $gp, $a3, 32, test_ints, 100760 + TWO_REG_1_IMM_SPECIAL message716, addiu[gp.b], $gp, $s6, 36, test_ints, 41880 + TWO_REG_1_IMM_SPECIAL message717, addiu[gp.b], $gp, $a5, 12, test_ints, 116608 + TWO_REG_1_IMM_SPECIAL message718, addiu[gp.b], $gp, $s5, 36, test_ints, 116086 + TWO_REG_1_IMM_SPECIAL message719, addiu[gp.b], $gp, $s2, 12, test_ints, 251668 + TWO_REG_1_IMM_SPECIAL message720, addiu[gp.b], $gp, $a7, 16, test_ints, 259488 + +# addiu[gp.w] + TWO_REG_1_IMM_SPECIAL message721, addiu[gp.w], $gp, $a7, 16, test_ints, 305024 + TWO_REG_1_IMM_SPECIAL message722, addiu[gp.w], $gp, $a0, 24, test_ints, 539200 + TWO_REG_1_IMM_SPECIAL message723, addiu[gp.w], $gp, $t3, 32, test_ints, 1349636 + TWO_REG_1_IMM_SPECIAL message724, addiu[gp.w], $gp, $a1, 36, test_ints, 2010128 + TWO_REG_1_IMM_SPECIAL message725, addiu[gp.w], $gp, $s5, 36, test_ints, 1795192 + TWO_REG_1_IMM_SPECIAL message726, addiu[gp.w], $gp, $s6, 4, test_ints, 616692 + TWO_REG_1_IMM_SPECIAL message727, addiu[gp.w], $gp, $a1, 28, test_ints, 1923680 + TWO_REG_1_IMM_SPECIAL message728, addiu[gp.w], $gp, $s3, 8, test_ints, 962424 + TWO_REG_1_IMM_SPECIAL message729, addiu[gp.w], $gp, $a6, 16, test_ints, 1030460 + TWO_REG_1_IMM_SPECIAL message730, addiu[gp.w], $gp, $s6, 0, test_ints, 1735092 + TWO_REG_1_IMM_SPECIAL message731, addiu[gp.w], $gp, $s4, 24, test_ints, 677528 + TWO_REG_1_IMM_SPECIAL message732, addiu[gp.w], $gp, $a7, 44, test_ints, 755268 + TWO_REG_1_IMM_SPECIAL message733, addiu[gp.w], $gp, $t0, 24, test_ints, 86156 + TWO_REG_1_IMM_SPECIAL message734, addiu[gp.w], $gp, $s0, 4, test_ints, 1845232 + TWO_REG_1_IMM_SPECIAL message735, addiu[gp.w], $gp, $s5, 32, test_ints, 1762372 + TWO_REG_1_IMM_SPECIAL message736, addiu[gp.w], $gp, $a6, 4, test_ints, 1500128 + TWO_REG_1_IMM_SPECIAL message737, addiu[gp.w], $gp, $a1, 36, test_ints, 1627292 + TWO_REG_1_IMM_SPECIAL message738, addiu[gp.w], $gp, $t1, 4, test_ints, 750296 + TWO_REG_1_IMM_SPECIAL message739, addiu[gp.w], $gp, $s3, 44, test_ints, 414428 + TWO_REG_1_IMM_SPECIAL message740, addiu[gp.w], $gp, $s3, 8, test_ints, 1533636 + TWO_REG_1_IMM_SPECIAL message741, addiu[gp.w], $gp, $s0, 20, test_ints, 1731624 + TWO_REG_1_IMM_SPECIAL message742, addiu[gp.w], $gp, $a3, 0, test_ints, 453312 + TWO_REG_1_IMM_SPECIAL message743, addiu[gp.w], $gp, $s0, 40, test_ints, 1488200 + TWO_REG_1_IMM_SPECIAL message744, addiu[gp.w], $gp, $a3, 28, test_ints, 446292 + TWO_REG_1_IMM_SPECIAL message745, addiu[gp.w], $gp, $a1, 40, test_ints, 827552 + TWO_REG_1_IMM_SPECIAL message746, addiu[gp.w], $gp, $t3, 36, test_ints, 1891912 + TWO_REG_1_IMM_SPECIAL message747, addiu[gp.w], $gp, $t0, 8, test_ints, 402268 + TWO_REG_1_IMM_SPECIAL message748, addiu[gp.w], $gp, $a0, 28, test_ints, 878732 + TWO_REG_1_IMM_SPECIAL message749, addiu[gp.w], $gp, $t1, 20, test_ints, 438880 + TWO_REG_1_IMM_SPECIAL message750, addiu[gp.w], $gp, $t1, 28, test_ints, 1142592 + +# addiu[r1.sp] + TWO_REG_1_IMM_SPECIAL message751, addiu[r1.sp], $sp, $s1, 0, test_ints, 92 + TWO_REG_1_IMM_SPECIAL message752, addiu[r1.sp], $sp, $s1, 0, test_ints, 212 + TWO_REG_1_IMM_SPECIAL message753, addiu[r1.sp], $sp, $a1, 36, test_ints, 32 + TWO_REG_1_IMM_SPECIAL message754, addiu[r1.sp], $sp, $a1, 28, test_ints, 152 + TWO_REG_1_IMM_SPECIAL message755, addiu[r1.sp], $sp, $a2, 12, test_ints, 76 + TWO_REG_1_IMM_SPECIAL message756, addiu[r1.sp], $sp, $s3, 40, test_ints, 208 + TWO_REG_1_IMM_SPECIAL message757, addiu[r1.sp], $sp, $s2, 40, test_ints, 240 + TWO_REG_1_IMM_SPECIAL message758, addiu[r1.sp], $sp, $s1, 44, test_ints, 20 + TWO_REG_1_IMM_SPECIAL message759, addiu[r1.sp], $sp, $a2, 20, test_ints, 244 + TWO_REG_1_IMM_SPECIAL message760, addiu[r1.sp], $sp, $a0, 0, test_ints, 148 + TWO_REG_1_IMM_SPECIAL message761, addiu[r1.sp], $sp, $a2, 20, test_ints, 236 + TWO_REG_1_IMM_SPECIAL message762, addiu[r1.sp], $sp, $s2, 8, test_ints, 128 + TWO_REG_1_IMM_SPECIAL message763, addiu[r1.sp], $sp, $s2, 32, test_ints, 240 + TWO_REG_1_IMM_SPECIAL message764, addiu[r1.sp], $sp, $s3, 36, test_ints, 28 + TWO_REG_1_IMM_SPECIAL message765, addiu[r1.sp], $sp, $a0, 32, test_ints, 244 + TWO_REG_1_IMM_SPECIAL message766, addiu[r1.sp], $sp, $s2, 28, test_ints, 216 + TWO_REG_1_IMM_SPECIAL message767, addiu[r1.sp], $sp, $a1, 4, test_ints, 156 + TWO_REG_1_IMM_SPECIAL message768, addiu[r1.sp], $sp, $s0, 28, test_ints, 168 + TWO_REG_1_IMM_SPECIAL message769, addiu[r1.sp], $sp, $a3, 4, test_ints, 72 + TWO_REG_1_IMM_SPECIAL message770, addiu[r1.sp], $sp, $a3, 4, test_ints, 144 + TWO_REG_1_IMM_SPECIAL message771, addiu[r1.sp], $sp, $a2, 44, test_ints, 180 + TWO_REG_1_IMM_SPECIAL message772, addiu[r1.sp], $sp, $s2, 8, test_ints, 200 + TWO_REG_1_IMM_SPECIAL message773, addiu[r1.sp], $sp, $s2, 16, test_ints, 132 + TWO_REG_1_IMM_SPECIAL message774, addiu[r1.sp], $sp, $s3, 44, test_ints, 120 + TWO_REG_1_IMM_SPECIAL message775, addiu[r1.sp], $sp, $s0, 44, test_ints, 160 + TWO_REG_1_IMM_SPECIAL message776, addiu[r1.sp], $sp, $a0, 24, test_ints, 152 + TWO_REG_1_IMM_SPECIAL message777, addiu[r1.sp], $sp, $a2, 28, test_ints, 84 + TWO_REG_1_IMM_SPECIAL message778, addiu[r1.sp], $sp, $s2, 28, test_ints, 240 + TWO_REG_1_IMM_SPECIAL message779, addiu[r1.sp], $sp, $s2, 44, test_ints, 140 + TWO_REG_1_IMM_SPECIAL message780, addiu[r1.sp], $sp, $s3, 24, test_ints, 172 + +# addiu[r2] + TWO_REG_1_IMM message781, addiu[r2], $a0, $a0, 32, test_ints, 4 + TWO_REG_1_IMM message782, addiu[r2], $s3, $a2, 16, test_ints, 20 + TWO_REG_1_IMM message783, addiu[r2], $s2, $s1, 36, test_ints, 8 + TWO_REG_1_IMM message784, addiu[r2], $s3, $a1, 36, test_ints, 16 + TWO_REG_1_IMM message785, addiu[r2], $a1, $s3, 12, test_ints, 8 + TWO_REG_1_IMM message786, addiu[r2], $a3, $a2, 4, test_ints, 24 + TWO_REG_1_IMM message787, addiu[r2], $s0, $a0, 4, test_ints, 4 + TWO_REG_1_IMM message788, addiu[r2], $s3, $a3, 20, test_ints, 0 + TWO_REG_1_IMM message789, addiu[r2], $s0, $s1, 12, test_ints, 8 + TWO_REG_1_IMM message790, addiu[r2], $a0, $s3, 16, test_ints, 4 + TWO_REG_1_IMM message791, addiu[r2], $s0, $s1, 32, test_ints, 24 + TWO_REG_1_IMM message792, addiu[r2], $s2, $s2, 36, test_ints, 20 + TWO_REG_1_IMM message793, addiu[r2], $s1, $a1, 40, test_ints, 0 + TWO_REG_1_IMM message794, addiu[r2], $a3, $s0, 12, test_ints, 16 + TWO_REG_1_IMM message795, addiu[r2], $s0, $a0, 16, test_ints, 24 + TWO_REG_1_IMM message796, addiu[r2], $s0, $s1, 28, test_ints, 16 + TWO_REG_1_IMM message797, addiu[r2], $a2, $a2, 28, test_ints, 8 + TWO_REG_1_IMM message798, addiu[r2], $a1, $a3, 4, test_ints, 4 + TWO_REG_1_IMM message799, addiu[r2], $a1, $a1, 4, test_ints, 20 + TWO_REG_1_IMM message800, addiu[r2], $s3, $s2, 12, test_ints, 12 + TWO_REG_1_IMM message801, addiu[r2], $s3, $a1, 20, test_ints, 0 + TWO_REG_1_IMM message802, addiu[r2], $s1, $a0, 28, test_ints, 24 + TWO_REG_1_IMM message803, addiu[r2], $a1, $s3, 20, test_ints, 12 + TWO_REG_1_IMM message804, addiu[r2], $s0, $a0, 20, test_ints, 12 + TWO_REG_1_IMM message805, addiu[r2], $a3, $a0, 4, test_ints, 12 + TWO_REG_1_IMM message806, addiu[r2], $a3, $a2, 40, test_ints, 12 + TWO_REG_1_IMM message807, addiu[r2], $a3, $a3, 0, test_ints, 0 + TWO_REG_1_IMM message808, addiu[r2], $a1, $a3, 32, test_ints, 8 + TWO_REG_1_IMM message809, addiu[r2], $s0, $s1, 16, test_ints, 16 + TWO_REG_1_IMM message810, addiu[r2], $s2, $s3, 44, test_ints, 12 + +# addiu[rs5] + ONE_REG_1_IMM message811, addiu[rs5], $a6, 16, test_ints, -4 + ONE_REG_1_IMM message812, addiu[rs5], $a6, 20, test_ints, 1 + ONE_REG_1_IMM message813, addiu[rs5], $s4, 32, test_ints, 1 + ONE_REG_1_IMM message814, addiu[rs5], $a5, 0, test_ints, -4 + ONE_REG_1_IMM message815, addiu[rs5], $t3, 8, test_ints, 1 + ONE_REG_1_IMM message816, addiu[rs5], $a7, 20, test_ints, -3 + ONE_REG_1_IMM message817, addiu[rs5], $s2, 44, test_ints, 0 + ONE_REG_1_IMM message818, addiu[rs5], $a2, 16, test_ints, -4 + ONE_REG_1_IMM message819, addiu[rs5], $a7, 0, test_ints, -2 + ONE_REG_1_IMM message820, addiu[rs5], $t1, 28, test_ints, 2 + ONE_REG_1_IMM message821, addiu[rs5], $a0, 4, test_ints, 2 + ONE_REG_1_IMM message822, addiu[rs5], $s4, 12, test_ints, 3 + ONE_REG_1_IMM message823, addiu[rs5], $s1, 12, test_ints, -1 + ONE_REG_1_IMM message824, addiu[rs5], $s6, 36, test_ints, 0 + ONE_REG_1_IMM message825, addiu[rs5], $a3, 16, test_ints, 2 + ONE_REG_1_IMM message826, addiu[rs5], $t0, 44, test_ints, 0 + ONE_REG_1_IMM message827, addiu[rs5], $t1, 20, test_ints, -1 + ONE_REG_1_IMM message828, addiu[rs5], $a5, 44, test_ints, -1 + ONE_REG_1_IMM message829, addiu[rs5], $t1, 12, test_ints, 3 + ONE_REG_1_IMM message830, addiu[rs5], $s4, 0, test_ints, -2 + ONE_REG_1_IMM message831, addiu[rs5], $s2, 36, test_ints, -1 + ONE_REG_1_IMM message832, addiu[rs5], $a4, 36, test_ints, 2 + ONE_REG_1_IMM message833, addiu[rs5], $s0, 12, test_ints, -3 + ONE_REG_1_IMM message834, addiu[rs5], $a3, 4, test_ints, 2 + ONE_REG_1_IMM message835, addiu[rs5], $s3, 32, test_ints, 3 + ONE_REG_1_IMM message836, addiu[rs5], $a2, 32, test_ints, 2 + ONE_REG_1_IMM message837, addiu[rs5], $s2, 36, test_ints, -4 + ONE_REG_1_IMM message838, addiu[rs5], $t1, 40, test_ints, -1 + ONE_REG_1_IMM message839, addiu[rs5], $s0, 0, test_ints, 2 + ONE_REG_1_IMM message840, addiu[rs5], $s3, 0, test_ints, 3 + +# addiu[neg] + TWO_REG_1_IMM message841, addiu[neg], $t1, $a2, 0, test_ints, -3416 + TWO_REG_1_IMM message842, addiu[neg], $t2, $s5, 24, test_ints, -602 + TWO_REG_1_IMM message843, addiu[neg], $a4, $a7, 8, test_ints, -3422 + TWO_REG_1_IMM message844, addiu[neg], $s2, $a5, 40, test_ints, -933 + TWO_REG_1_IMM message845, addiu[neg], $a7, $t3, 12, test_ints, -3605 + TWO_REG_1_IMM message846, addiu[neg], $s4, $a7, 24, test_ints, -775 + TWO_REG_1_IMM message847, addiu[neg], $s7, $a6, 28, test_ints, -2205 + TWO_REG_1_IMM message848, addiu[neg], $t1, $a3, 16, test_ints, -1986 + TWO_REG_1_IMM message849, addiu[neg], $t1, $a4, 8, test_ints, -15 + TWO_REG_1_IMM message850, addiu[neg], $s2, $a4, 40, test_ints, -1810 + TWO_REG_1_IMM message851, addiu[neg], $a4, $s0, 16, test_ints, -2982 + TWO_REG_1_IMM message852, addiu[neg], $s5, $s3, 44, test_ints, -1481 + TWO_REG_1_IMM message853, addiu[neg], $s2, $s6, 24, test_ints, -2498 + TWO_REG_1_IMM message854, addiu[neg], $a2, $s1, 20, test_ints, -1505 + TWO_REG_1_IMM message855, addiu[neg], $s7, $s4, 24, test_ints, -1101 + TWO_REG_1_IMM message856, addiu[neg], $s7, $s3, 12, test_ints, -2128 + TWO_REG_1_IMM message857, addiu[neg], $s7, $t2, 16, test_ints, -1085 + TWO_REG_1_IMM message858, addiu[neg], $s6, $t2, 32, test_ints, -2482 + TWO_REG_1_IMM message859, addiu[neg], $a6, $a4, 16, test_ints, -379 + TWO_REG_1_IMM message860, addiu[neg], $s7, $a3, 0, test_ints, -1901 + TWO_REG_1_IMM message861, addiu[neg], $s2, $s7, 32, test_ints, -3732 + TWO_REG_1_IMM message862, addiu[neg], $a4, $s5, 20, test_ints, -3683 + TWO_REG_1_IMM message863, addiu[neg], $a6, $s7, 0, test_ints, -1321 + TWO_REG_1_IMM message864, addiu[neg], $a6, $s0, 40, test_ints, -2546 + TWO_REG_1_IMM message865, addiu[neg], $a6, $a2, 44, test_ints, -208 + TWO_REG_1_IMM message866, addiu[neg], $a0, $a7, 44, test_ints, -1786 + TWO_REG_1_IMM message867, addiu[neg], $s4, $a7, 36, test_ints, -2495 + TWO_REG_1_IMM message868, addiu[neg], $s3, $a2, 4, test_ints, -717 + TWO_REG_1_IMM message869, addiu[neg], $t1, $a1, 4, test_ints, -3781 + TWO_REG_1_IMM message870, addiu[neg], $a6, $s2, 32, test_ints, -2700 + + move $a0, $zero + restore 48, $30,$31,$16-$24,$28 + restore.jrc 32 + .set macro + .set reorder + .end main + .size main, .-main diff --git a/none/tests/nanomips/arithmetic.stderr.exp b/none/tests/nanomips/arithmetic.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/arithmetic.stdout.exp b/none/tests/nanomips/arithmetic.stdout.exp new file mode 100644 index 0000000000..4fa056e9db --- /dev/null +++ b/none/tests/nanomips/arithmetic.stdout.exp @@ -0,0 +1,868 @@ +add $s5 456789ab $a6 33333333 $a1 12345678 +add $t0 0000000b $s2 0000000a $t2 00000001 +add $s2 12345682 $a2 0000000a $t0 12345678 +add $s4 dddddddd $a5 33333333 $a3 aaaaaaaa +add $s1 fffffffe $t1 00000000 $t2 fffffffe +add $a2 cccccccb $t3 cccccccc $a7 ffffffff +add $s0 0000000b $s5 0000000a $a7 00000001 +add $s4 cccccccc $a7 cccccccc $t1 00000000 +add $t3 456789ab $a4 12345678 $t1 33333333 +add $s6 ccccccce $a3 cccccccc $s3 00000002 +add $s5 0000000c $a6 0000000a $a7 00000002 +add $t0 55555555 $s1 00000000 $a0 55555555 +add $t3 12345678 $a6 00000000 $t3 12345678 +add $s6 00000000 $a0 00000001 $s5 ffffffff +add $a5 09abcdee $a2 09abcdef $t1 ffffffff +add $s3 00000008 $s1 fffffffe $s4 0000000a +add $s0 b4567899 $a7 09abcdef $s4 aaaaaaaa +add $t3 00000003 $s7 00000001 $s1 00000002 +add $s3 09abcdf1 $s3 00000002 $t1 09abcdef +add $a4 0000000a $t1 0000000a $a0 00000000 +add $s5 6789abcd $a3 55555555 $s6 12345678 +add $a3 00000002 $s5 00000000 $t3 00000002 +add $a4 09abcdef $s0 00000000 $s7 09abcdef +add $s7 0000000c $t3 0000000a $s2 00000002 +add $s6 00000002 $a0 00000001 $s6 00000001 +add $s5 fffffffe $a7 ffffffff $s4 ffffffff +add $a4 0000000c $t2 00000002 $a0 0000000a +add $s2 2468acf0 $a6 0000000a $a6 12345678 +add $s6 12345677 $a5 ffffffff $s6 12345678 +add $a1 ccccccd6 $s0 cccccccc $a5 0000000a +add $s0 66666666 $a6 55555555 $a6 33333333 +add $a1 55555554 $s0 55555555 $s1 ffffffff +add $a6 fffffffd $s2 fffffffe $s4 ffffffff +add $a5 00000001 $t0 00000002 $a0 ffffffff +add $a6 33333331 $a5 33333333 $a6 fffffffe +add $s4 6789abcd $a2 55555555 $a7 12345678 +add $s4 12345682 $t2 12345678 $a4 0000000a +add $a6 1234567a $a4 00000002 $a1 12345678 +add $s6 1be02467 $s5 12345678 $a0 09abcdef +addu[32] $s6 1234567a $a3 12345678 $a7 00000002 +addu[32] $t0 5555555f $s4 55555555 $a4 0000000a +addu[32] $a3 12345682 $a7 12345678 $s0 0000000a +addu[32] $a6 0000000b $s6 00000001 $s7 0000000a +addu[32] $s0 aaaaaaa9 $t1 ffffffff $a1 aaaaaaaa +addu[32] $a3 5f012344 $t0 09abcdef $s1 55555555 +addu[32] $a0 00000003 $s1 00000002 $s2 00000001 +addu[32] $t1 66666666 $s7 33333333 $a0 33333333 +addu[32] $a5 456789ab $t0 33333333 $s0 12345678 +addu[32] $a5 00000001 $s4 ffffffff $a5 00000002 +addu[32] $a2 09abcdf0 $s1 09abcdef $a4 00000001 +addu[32] $a0 33333332 $t2 33333333 $a7 ffffffff +addu[32] $a1 09abcdef $s1 09abcdef $s7 00000000 +addu[32] $a2 55555553 $a0 fffffffe $s7 55555555 +addu[32] $t0 fffffffe $s4 ffffffff $a2 ffffffff +addu[32] $s5 1234567a $s2 12345678 $a1 00000002 +addu[32] $s0 aaaaaaab $s4 aaaaaaaa $a5 00000001 +addu[32] $t0 0000000c $a4 00000002 $t1 0000000a +addu[32] $a2 ffffffff $a4 33333333 $s6 cccccccc +addu[32] $s6 456789ab $s4 33333333 $a0 12345678 +addu[32] $a6 09abcdf9 $t2 0000000a $s2 09abcdef +addu[32] $a0 33333333 $s6 33333333 $t1 00000000 +addu[32] $a1 55555553 $a2 fffffffe $t0 55555555 +addu[32] $s7 cccccccb $a2 cccccccc $s3 ffffffff +addu[32] $t0 00000002 $s6 00000002 $a1 00000000 +addu[32] $a1 09abcded $t1 fffffffe $t0 09abcdef +addu[32] $s6 fffffffe $a0 ffffffff $s1 ffffffff +addu[32] $a4 55555554 $a5 ffffffff $t3 55555555 +addu[32] $a3 ccccccce $a6 00000002 $s4 cccccccc +addu[32] $t3 6789abcd $a6 55555555 $t2 12345678 +addu[32] $s7 66666666 $t2 33333333 $t1 33333333 +addu[32] $a1 ffffffff $s2 ffffffff $t3 00000000 +addu[32] $s2 09abcdef $s7 09abcdef $t1 00000000 +addu[32] $a2 55555555 $s7 55555555 $t1 00000000 +addu[32] $s0 cccccccb $t1 cccccccc $s7 ffffffff +addu[32] $t3 55555554 $t3 55555555 $a7 ffffffff +addu[32] $s2 09abcded $s5 09abcdef $s4 fffffffe +addu[32] $s5 0000000a $a0 00000000 $s5 0000000a +addu[32] $s1 456789ab $s6 12345678 $a4 33333333 +addu[32] $t1 55555557 $s1 55555555 $a0 00000002 +addu[16] $a1 d6789abb $a2 cccccccc $s0 09abcdef +addu[16] $s1 00000009 $a3 0000000a $a2 ffffffff +addu[16] $a0 fffffffe $s3 00000000 $a3 fffffffe +addu[16] $s1 aaaaaaaa $s1 55555555 $a2 55555555 +addu[16] $s3 2468acf0 $a0 00000002 $a0 12345678 +addu[16] $s2 09abcded $a0 fffffffe $s3 09abcdef +addu[16] $s2 09abcdf0 $a3 00000001 $s1 09abcdef +addu[16] $s0 00000001 $a0 00000002 $s3 ffffffff +addu[16] $a0 09abcdf1 $s3 00000002 $a0 09abcdef +addu[16] $a2 00000001 $a1 00000000 $s0 00000001 +addu[16] $s2 00000002 $a3 00000001 $a3 00000001 +addu[16] $s2 0000000b $s1 0000000a $a3 00000001 +addu[16] $s2 b4567899 $s0 aaaaaaaa $a3 09abcdef +addu[16] $s2 09abcdee $a0 ffffffff $s3 09abcdef +addu[16] $a1 00000014 $s2 33333333 $s2 0000000a +addu[16] $s1 bcdf0122 $s0 12345678 $a2 aaaaaaaa +addu[16] $s2 09abcdee $a0 ffffffff $s0 09abcdef +addu[16] $s3 55555554 $s3 55555555 $s0 ffffffff +addu[16] $s0 fffffffe $a1 09abcdef $a1 ffffffff +addu[16] $a0 00000002 $s1 00000002 $s1 00000001 +addu[16] $s1 12345679 $a0 00000001 $a1 12345678 +addu[16] $a2 09abcdf9 $a1 0000000a $s2 09abcdef +addu[16] $s2 00000000 $a3 12345678 $a3 00000000 +addu[16] $a3 09abcdef $a1 09abcdef $s0 00000000 +addu[16] $a1 6789abcd $a3 55555555 $s1 12345678 +addu[16] $a2 3cdf0122 $a2 09abcdef $a0 33333333 +addu[16] $a3 00000000 $s0 00000000 $a2 00000000 +addu[16] $s0 1be02467 $s2 12345678 $a1 09abcdef +addu[16] $s0 00000002 $a0 00000001 $s2 00000001 +addu[16] $a3 09abcded $a2 09abcdef $s0 fffffffe +addu[16] $a0 5555555f $a0 0000000a $s1 55555555 +addu[16] $a0 ccccccce $s3 cccccccc $s0 00000002 +addu[16] $s1 13579bde $a3 09abcdef $a3 09abcdef +addu[16] $a3 33333333 $a3 00000000 $s1 33333333 +addu[16] $a1 09abcdef $a0 09abcdef $s2 00000000 +addu[16] $a1 00000014 $a2 ffffffff $a2 0000000a +addu[16] $s0 1be02467 $s2 12345678 $a1 09abcdef +addu[16] $a3 1234567a $a2 00000002 $a3 12345678 +addu[16] $a2 99999998 $s1 33333333 $s1 cccccccc +addu[16] $s0 00000009 $a1 ffffffff $a0 0000000a +addu[4x4] $s5 55555557 old $s5 55555555 $s2 00000002 +addu[4x4] $s2 77777776 old $s2 cccccccc $s6 aaaaaaaa +addu[4x4] $a0 88888888 old $a0 55555555 $a2 33333333 +addu[4x4] $s0 00000004 old $s0 00000002 $s7 00000002 +addu[4x4] $a3 12345676 old $a3 fffffffe $s1 12345678 +addu[4x4] $a3 cccccccd old $a3 00000001 $s0 cccccccc +addu[4x4] $s6 d6789abb old $s6 cccccccc $a4 09abcdef +addu[4x4] $s4 0000000a old $s4 00000000 $s5 0000000a +addu[4x4] $s0 fffffffd old $s0 ffffffff $a2 fffffffe +addu[4x4] $a0 55555554 old $a0 55555555 $a1 ffffffff +addu[4x4] $a3 1234567a old $a3 12345678 $a4 00000002 +addu[4x4] $a4 00000003 old $a4 00000001 $s5 00000002 +addu[4x4] $a6 fffffffe old $a6 ffffffff $a5 ffffffff +addu[4x4] $s6 aaaaaab4 old $s6 0000000a $s1 aaaaaaaa +addu[4x4] $s5 fffffffe old $s5 00000002 $s5 ffffffff +addu[4x4] $s2 12345676 old $s2 12345678 $a7 fffffffe +addu[4x4] $s2 bcdf0122 old $s2 aaaaaaaa $s7 12345678 +addu[4x4] $a1 ccccccce old $a1 00000002 $a3 cccccccc +addu[4x4] $a7 00000001 old $a7 00000000 $s1 00000001 +addu[4x4] $a6 22222221 old $a6 55555555 $a7 cccccccc +div $a4 08888888 $a0 55555555 $a1 0000000a +div $s2 00000000 $s2 00000001 $s6 cccccccc +div $a3 ffffffff $a6 ffffffff $a1 00000001 +div $a3 00000000 $s1 0000000a $a1 09abcdef +div $t0 00000001 $s5 00000001 $a2 00000001 +div $a6 00000001 $t3 ffffffff $a1 ffffffff +div $t1 00000001 $s2 00000001 $a1 00000001 +div $a6 d5555555 $s1 aaaaaaaa $t3 00000002 +div $t0 00000002 $s7 33333333 $a7 12345678 +div $t3 00000000 $a4 00000000 $t2 33333333 +div $t0 00000000 $s0 12345678 $a3 cccccccc +div $a1 091a2b3c $t1 12345678 $s7 00000002 +div $t0 00000000 $s4 12345678 $a4 aaaaaaaa +div $a5 fffffffb $t0 cccccccc $s4 09abcdef +div $s5 33333334 $s4 cccccccc $t0 ffffffff +div $a5 00000000 $s4 09abcdef $t2 55555555 +div $t0 00000000 $s3 00000001 $a5 33333333 +div $s1 00000000 $s5 cccccccc $s3 55555555 +div $a5 08888888 $a0 55555555 $a7 0000000a +div $a2 00000000 $a7 00000001 $t3 55555555 +div $a0 00000000 $a0 00000000 $a7 00000001 +div $a1 00000001 $a2 aaaaaaaa $t1 cccccccc +div $s5 55555555 $a0 55555555 $s1 00000001 +div $a3 ffffffff $t3 55555555 $a5 cccccccc +div $s4 fffffffb $s3 cccccccc $t0 09abcdef +div $t2 00000000 $s6 0000000a $a0 aaaaaaaa +div $s7 00000000 $t1 00000002 $a2 0000000a +div $t3 ffffffff $t0 aaaaaaaa $a0 33333333 +div $t1 00000002 $a1 fffffffe $s1 ffffffff +div $a1 00000008 $a1 55555555 $t3 09abcdef +div $s7 00000000 $s2 09abcdef $t3 12345678 +div $a4 00000000 $a1 ffffffff $t1 33333333 +div $t2 ffffffff $s4 aaaaaaaa $a0 55555555 +div $a6 00000001 $s3 55555555 $s4 33333333 +div $s4 33333333 $a4 33333333 $a1 00000001 +div $s5 fffffffb $s6 cccccccc $t0 09abcdef +div $s7 091a2b3c $s3 12345678 $a3 00000002 +div $a5 00000004 $s3 55555555 $t0 12345678 +div $a7 00000000 $a1 09abcdef $a0 cccccccc +div $s0 fffffffb $a6 cccccccc $t1 09abcdef +divu $t0 00000001 $a4 ffffffff $s0 ffffffff +divu $a3 00000000 $s6 09abcdef $s4 55555555 +divu $t1 00000000 $t2 cccccccc $a2 ffffffff +divu $t1 00000000 $t1 33333333 $s0 cccccccc +divu $s0 00000000 $a4 00000000 $a5 33333333 +divu $s2 00000000 $a0 09abcdef $s1 fffffffe +divu $a2 00000001 $t0 fffffffe $t1 cccccccc +divu $s7 00f79497 $t1 09abcdef $a4 0000000a +divu $s7 00000000 $t0 0000000a $t3 09abcdef +divu $t0 00000000 $t2 00000000 $a6 aaaaaaaa +divu $t2 00000000 $a4 00000001 $t3 ffffffff +divu $a3 00000000 $s5 00000000 $t1 0000000a +divu $a1 00000008 $a6 55555555 $s1 09abcdef +divu $t2 00000000 $s5 12345678 $t2 ffffffff +divu $t3 00000000 $s1 12345678 $a1 33333333 +divu $t2 00000000 $s6 cccccccc $t1 ffffffff +divu $s5 00000003 $s6 aaaaaaaa $a6 33333333 +divu $a2 00000000 $a7 00000001 $s2 12345678 +divu $a3 55555555 $s5 aaaaaaaa $t2 00000002 +divu $t3 00000000 $a3 12345678 $s1 cccccccc +divu $s6 00000000 $t1 00000001 $a7 55555555 +divu $a6 04d5e6f7 $a5 09abcdef $a1 00000002 +divu $s3 7fffffff $a0 ffffffff $s7 00000002 +divu $s4 00000000 $a3 00000002 $s4 33333333 +divu $a4 09abcdef $s2 09abcdef $a0 00000001 +divu $s7 00000000 $s6 00000000 $s2 fffffffe +divu $t3 2aaaaaaa $s2 55555555 $s5 00000002 +divu $a0 00000001 $a4 ffffffff $s3 aaaaaaaa +divu $a5 00000000 $a4 aaaaaaaa $s4 ffffffff +divu $t1 00000000 $a5 12345678 $s1 aaaaaaaa +divu $t0 00000002 $a6 aaaaaaaa $a2 55555555 +divu $s1 00000000 $a3 00000001 $t0 fffffffe +divu $a0 0000001a $s3 fffffffe $s2 09abcdef +divu $s0 00000001 $a6 cccccccc $a6 0000000a +divu $t2 00000000 $t1 12345678 $t0 33333333 +divu $a2 00000000 $s4 00000001 $a2 55555555 +divu $s6 00000000 $t3 33333333 $a0 55555555 +divu $a2 00000000 $a6 12345678 $a2 fffffffe +divu $a2 00000000 $a2 0000000a $s1 fffffffe +divu $t2 00000002 $s5 cccccccc $a7 55555555 +mod $t3 00000000 $s6 00000002 $s6 ffffffff +mod $s4 00000000 $s1 fffffffe $a1 fffffffe +mod $a7 00000000 $a1 00000002 $s3 00000002 +mod $s2 ffffffff $a1 ffffffff $a4 fffffffe +mod $s6 00000001 $s7 00000001 $a6 aaaaaaaa +mod $a6 00000000 $s6 ffffffff $a6 ffffffff +mod $a3 00000000 $a4 12345678 $t1 00000002 +mod $a6 00000002 $s2 00000002 $a1 09abcdef +mod $a6 ffffffff $a6 ffffffff $s1 33333333 +mod $t3 00000000 $a0 00000000 $t3 fffffffe +mod $a2 f8091a22 $s2 aaaaaaaa $a0 09abcdef +mod $s5 00000000 $a7 00000001 $a0 00000001 +mod $a2 00000000 $a2 00000002 $s1 fffffffe +mod $a1 22222222 $s1 55555555 $a2 33333333 +mod $s3 00000000 $a0 cccccccc $a6 fffffffe +mod $a4 00000000 $s4 09abcdef $a2 ffffffff +mod $a7 00000002 $s1 00000002 $t2 33333333 +mod $t0 00000000 $a0 00000000 $s1 ffffffff +mod $s5 07f6e5dd $s3 55555555 $a6 09abcdef +mod $t2 ffffffff $a3 ffffffff $a4 33333333 +mod $a4 00000001 $a4 09abcdef $s2 fffffffe +mod $a4 00000005 $a7 55555555 $a0 0000000a +mod $a0 00000001 $a5 00000001 $s3 aaaaaaaa +mod $s5 55555555 $a7 55555555 $t1 aaaaaaaa +mod $s1 00000001 $t0 00000001 $t3 09abcdef +mod $s5 0000000a $a5 0000000a $s6 09abcdef +mod $a4 00000000 $s6 55555555 $s6 55555555 +mod $a3 00000002 $s3 00000002 $a4 12345678 +mod $t2 ffffffff $a4 ffffffff $s7 00000002 +mod $a0 ffffffff $s7 ffffffff $s6 09abcdef +mod $a2 0000000a $t2 0000000a $a5 12345678 +mod $t0 fffffffe $s7 fffffffe $s3 0000000a +mod $s1 00000000 $a6 aaaaaaaa $s2 00000002 +mod $a7 00000000 $a7 09abcdef $a3 09abcdef +mod $s5 00000000 $a1 cccccccc $t2 fffffffe +mod $a5 f37c048a $a0 aaaaaaaa $t2 12345678 +mod $a7 00000000 $s6 33333333 $s0 00000001 +mod $a5 00000000 $a1 cccccccc $a3 00000001 +mod $t3 00000000 $t2 12345678 $s1 00000001 +mod $a1 00000000 $t1 0000000a $a1 00000002 +modu $s7 00000000 $a2 55555555 $a2 09abcdef +modu $t1 00000002 $t3 00000002 $s6 33333333 +modu $s7 00000002 $a3 00000002 $t2 0000000a +modu $s6 00000000 $a1 ffffffff $a1 55555555 +modu $a4 0000000a $s0 0000000a $s7 55555555 +modu $s1 00000000 $t2 55555555 $s0 55555555 +modu $s1 09abcdef $t2 09abcdef $s1 33333333 +modu $a3 00000005 $a1 ffffffff $a3 0000000a +modu $a7 00000000 $a5 33333333 $a3 00000001 +modu $a3 00000000 $s3 cccccccc $s5 00000001 +modu $a3 00000000 $a0 fffffffe $s0 00000002 +modu $t3 00000001 $a0 09abcdef $t0 00000002 +modu $a3 00000000 $s0 0000000a $a0 00000001 +modu $a4 00000000 $s0 00000000 $a4 cccccccc +modu $s5 00000000 $a7 cccccccc $a7 cccccccc +modu $t3 048d15b9 $s4 ffffffff $s7 09abcdef +modu $a7 09abcdef $s0 09abcdef $s1 aaaaaaaa +modu $a6 00000000 $a6 12345678 $t2 00000002 +modu $s5 00000000 $t2 ffffffff $s5 00000001 +modu $t1 0000000a $s2 0000000a $a3 33333333 +modu $s5 00000000 $t2 00000000 $t1 fffffffe +modu $a1 cccccccc $s4 cccccccc $t3 ffffffff +modu $a7 22222222 $s7 cccccccc $t1 aaaaaaaa +modu $s7 048d15b8 $a3 fffffffe $s1 09abcdef +modu $s6 00000006 $t3 cccccccc $s7 0000000a +modu $s2 07f6e5dd $t1 55555555 $s6 09abcdef +modu $t0 0000000a $t3 0000000a $s1 12345678 +modu $s0 00000002 $a6 00000002 $t0 0000000a +modu $a5 55555555 $s6 55555555 $s5 fffffffe +modu $t0 33333333 $s1 33333333 $a6 cccccccc +modu $s7 09abcdef $s3 09abcdef $s6 33333333 +modu $s3 0000000a $a1 0000000a $a0 09abcdef +modu $s3 00000000 $s6 00000000 $a7 ffffffff +modu $s3 00000001 $a0 00000001 $a6 aaaaaaaa +modu $a4 00000006 $a4 12345678 $s5 0000000a +modu $t0 00000005 $a6 55555555 $s7 0000000a +modu $a3 02d82d88 $s2 33333333 $s6 09abcdef +modu $t2 55555555 $s0 55555555 $s6 cccccccc +modu $a2 0000000a $a1 0000000a $a0 ffffffff +modu $s3 0123456f $s4 ffffffff $a5 12345678 +muh $a4 00000000 $s6 55555555 $a3 00000000 +muh $a1 00000000 $a6 aaaaaaaa $t2 ffffffff +muh $a1 00000000 $s3 00000001 $a3 33333333 +muh $t0 00000000 $t1 55555555 $a1 00000000 +muh $t3 ffffffff $t0 09abcdef $s1 ffffffff +muh $s7 0a3d70a4 $a3 cccccccc $s1 cccccccc +muh $a0 00000000 $t1 00000002 $a6 09abcdef +muh $s2 eeeeeeee $s0 aaaaaaaa $a5 33333333 +muh $t2 ffffffff $s5 ffffffff $a0 33333333 +muh $s5 ffffffff $s1 00000002 $s2 cccccccc +muh $t2 00000000 $a6 00000000 $s0 fffffffe +muh $a6 00000000 $a7 09abcdef $s5 00000002 +muh $t1 ffffffff $a0 cccccccc $s0 00000002 +muh $a7 00000000 $a6 0000000a $t0 00000001 +muh $a5 ffffffff $s3 ffffffff $a0 0000000a +muh $s5 00000000 $s3 aaaaaaaa $s6 fffffffe +muh $t2 00000000 $s6 00000001 $s0 12345678 +muh $t2 00000000 $t1 00000002 $a1 00000000 +muh $s5 ffffffff $s1 33333333 $t0 ffffffff +muh $s4 f9ee8dd7 $s1 aaaaaaaa $s3 12345678 +muh $t2 1c71c71c $a5 00000002 $a5 55555555 +muh $a2 00000000 $s4 ffffffff $a5 00000000 +muh $a7 e38e38e3 $t3 aaaaaaaa $a3 55555555 +muh $s1 ffffffff $s6 00000001 $s7 fffffffe +muh $a0 00000000 $a4 cccccccc $t3 ffffffff +muh $a4 ffffffff $a0 00000001 $a6 aaaaaaaa +muh $a0 ffffffff $t2 fffffffe $t1 33333333 +muh $s4 00000001 $a0 0000000a $a1 33333333 +muh $a2 ffffffff $t1 ffffffff $a1 33333333 +muh $t3 ffffffff $s6 00000001 $a7 ffffffff +muh $t1 00000000 $a7 00000000 $s5 00000002 +muh $s3 00000000 $s4 ffffffff $s0 00000000 +muh $a0 e38e38e3 $t2 55555555 $s2 aaaaaaaa +muh $t3 ffffffff $a2 cccccccc $s0 00000002 +muh $s2 00000000 $s6 00000001 $s0 00000002 +muh $s5 00000000 $a2 0000000a $a6 0000000a +muh $s7 ffffffff $s2 ffffffff $t0 09abcdef +muh $s4 fffffffd $a0 cccccccc $s3 0000000a +muh $a3 ffffffff $s4 ffffffff $a7 55555555 +muh $s7 eeeeeeee $s4 aaaaaaaa $a4 33333333 +muhu $t0 28f5c28f $a6 cccccccc $s3 33333333 +muhu $a3 00000000 $a2 0000000a $a3 09abcdef +muhu $s5 00000001 $t0 33333333 $t1 0000000a +muhu $a4 00000000 $s5 00000000 $t1 ffffffff +muhu $s7 12345677 $s3 12345678 $t2 ffffffff +muhu $a0 12345677 $s2 ffffffff $s1 12345678 +muhu $a6 fffffffd $a5 fffffffe $s4 ffffffff +muhu $a1 00000000 $s5 00000000 $s7 fffffffe +muhu $s2 00000001 $t1 cccccccc $s2 00000002 +muhu $s0 71c71c70 $a4 ffffffff $a4 aaaaaaaa +muhu $s2 00000000 $s4 00000000 $t0 09abcdef +muhu $s5 03a4114b $s4 12345678 $t1 33333333 +muhu $a3 00000000 $a1 00000001 $s6 00000001 +muhu $s0 07bca4bf $s0 09abcdef $s4 cccccccc +muhu $t2 0c22e44f $a6 aaaaaaaa $s6 12345678 +muhu $s5 00000003 $s0 0000000a $a2 55555555 +muhu $a7 00000000 $s3 09abcdef $a6 00000002 +muhu $a5 014b66dc $s0 12345678 $t0 12345678 +muhu $t1 a3d70a3c $t1 cccccccc $a3 cccccccc +muhu $a2 00000000 $s4 fffffffe $s4 00000002 +muhu $s1 00000000 $a4 00000001 $a5 33333333 +muhu $s3 33333332 $s0 fffffffe $s5 33333333 +muhu $a7 44444443 $s5 55555555 $a1 cccccccc +muhu $a4 0e90452c $s3 cccccccc $t0 12345678 +muhu $t2 1c71c71c $s2 55555555 $s7 55555555 +muhu $a0 00000000 $t0 00000000 $a6 09abcdef +muhu $a5 00000000 $s5 00000002 $t3 00000000 +muhu $t0 44444443 $s6 55555555 $t0 cccccccc +muhu $a6 00000000 $s1 00000002 $s5 00000001 +muhu $a1 22222221 $s3 33333333 $t3 aaaaaaaa +muhu $t1 aaaaaaa8 $t0 aaaaaaaa $s6 fffffffe +muhu $s0 33333332 $a4 fffffffe $s6 33333333 +muhu $s1 03a4114b $s3 33333333 $s6 12345678 +muhu $s7 00000000 $t1 09abcdef $s1 00000001 +muhu $a1 00000000 $s1 09abcdef $s1 00000000 +muhu $t0 09abcdee $t0 09abcdef $a0 fffffffe +muhu $a4 12345677 $a4 12345678 $a2 ffffffff +muhu $s4 0e90452c $t2 12345678 $s5 cccccccc +muhu $s6 00000001 $a0 33333333 $a7 0000000a +muhu $a2 00000000 $t0 00000002 $t2 00000001 +mul[32] $t2 00000002 $a4 00000001 $s1 00000002 +mul[32] $a5 66666666 $a7 33333333 $s0 00000002 +mul[32] $s6 cccccccc $a1 cccccccc $s3 00000001 +mul[32] $a0 00000004 $s4 fffffffe $t1 fffffffe +mul[32] $s5 cccccccd $s0 ffffffff $s2 33333333 +mul[32] $s3 f9ee8dd8 $s7 12345678 $t1 55555555 +mul[32] $t1 12345678 $s4 12345678 $a6 00000001 +mul[32] $t2 eeeeeeef $s3 55555555 $s2 33333333 +mul[32] $a5 33333334 $a4 ffffffff $s2 cccccccc +mul[32] $a2 13579bde $s1 00000002 $t0 09abcdef +mul[32] $a6 9999999a $a5 33333333 $a4 fffffffe +mul[32] $a5 eca86422 $s4 09abcdef $a5 fffffffe +mul[32] $s7 2f8f21e8 $s4 33333333 $t2 12345678 +mul[32] $a1 00000000 $s3 00000000 $a1 33333333 +mul[32] $s2 ffffffec $s1 0000000a $a5 fffffffe +mul[32] $s1 9999999a $s7 33333333 $s0 fffffffe +mul[32] $a3 33333333 $s4 00000001 $a3 33333333 +mul[32] $s5 bbbbbbbc $t1 55555555 $a5 cccccccc +mul[32] $s4 12345678 $t1 12345678 $t0 00000001 +mul[32] $s6 99999998 $a4 00000002 $a2 cccccccc +mul[32] $a4 0000000a $t2 0000000a $s1 00000001 +mul[32] $a0 00000000 $s3 aaaaaaaa $a6 00000000 +mul[32] $a4 00000000 $s7 00000000 $s0 09abcdef +mul[32] $a1 00000000 $a5 00000002 $t0 00000000 +mul[32] $a0 00000000 $s3 00000000 $s5 33333333 +mul[32] $t0 fffffffe $a2 00000002 $s1 ffffffff +mul[32] $s1 28f5c290 $s7 09abcdef $s7 cccccccc +mul[32] $a6 55555554 $s3 aaaaaaaa $a7 00000002 +mul[32] $t0 55555556 $a1 aaaaaaaa $t2 ffffffff +mul[32] $a5 c28f5c29 $t2 ffffffff $t2 33333333 +mul[32] $a6 0a3d70a4 $a1 cccccccc $a0 33333333 +mul[32] $a5 13579bde $s0 00000002 $t3 09abcdef +mul[32] $s1 00000000 $t0 00000000 $a6 09abcdef +mul[32] $s7 12345678 $s7 12345678 $t2 00000001 +mul[32] $a1 00000000 $s2 00000000 $s4 00000002 +mul[32] $a5 cccccccc $a5 cccccccc $t1 00000001 +mul[32] $a6 55555556 $a2 55555555 $a0 fffffffe +mul[32] $s2 ffffffec $a3 0000000a $s7 fffffffe +mul[32] $s6 60b60b56 $s2 0000000a $a7 09abcdef +mul[32] $s6 b60b60b0 $t0 0000000a $s6 12345678 +mul[4x4] $a1 eeeeeeef old $a1 33333333 $s6 55555555 +mul[4x4] $a2 00000000 old $a2 09abcdef $s4 00000000 +mul[4x4] $a5 13579bde old $a5 09abcdef $s3 00000002 +mul[4x4] $s2 0a3d70a4 old $s2 33333333 $s7 cccccccc +mul[4x4] $s5 00000002 old $s5 00000002 $a0 00000001 +mul[4x4] $a3 2f8f21e8 old $a3 33333333 $s6 12345678 +mul[4x4] $a3 99999998 old $a3 cccccccc $a4 00000002 +mul[4x4] $s6 55555556 old $s6 ffffffff $s5 aaaaaaaa +mul[4x4] $s4 1df4d840 old $s4 12345678 $s6 12345678 +mul[4x4] $s2 fcc6bb5b old $s2 55555555 $s5 09abcdef +mul[4x4] $s1 90f2a521 old $s1 fffffffe $s1 09abcdef +mul[4x4] $s1 e242d208 old $s1 09abcdef $s3 12345678 +mul[4x4] $s4 60b60b56 old $s4 0000000a $s3 09abcdef +mul[4x4] $s1 00000000 old $s1 ffffffff $s3 00000000 +mul[4x4] $s7 2468acf0 old $s7 00000002 $a5 12345678 +mul[4x4] $a3 fffffffc old $a3 fffffffe $s0 00000002 +mul[4x4] $a7 cccccccd old $a7 ffffffff $a4 33333333 +mul[4x4] $a1 55555552 old $a1 0000000a $s4 55555555 +mul[4x4] $a5 eeeeeeef old $a5 33333333 $s3 55555555 +mul[4x4] $a7 fffffffe old $a7 ffffffff $s5 00000002 +mulu $a0 00000001 $a2 ffffffff $s6 ffffffff +mulu $a3 77777778 $s5 aaaaaaaa $s1 cccccccc +mulu $a3 00000002 $a3 ffffffff $a0 fffffffe +mulu $s3 2f8f21e8 $s1 33333333 $s0 12345678 +mulu $a0 fffffffe $a6 33333333 $a5 0000000a +mulu $s6 00000001 $t0 00000001 $t0 ffffffff +mulu $a7 aaaaaaa4 $t3 0000000a $s7 aaaaaaaa +mulu $t1 55555552 $t0 55555555 $a5 0000000a +mulu $a5 f9ee8dd8 $a1 55555555 $t0 12345678 +mulu $a7 aaaaaaaa $s1 00000002 $s3 55555555 +mulu $a5 00000000 $a7 55555555 $a0 00000000 +mulu $a2 00000000 $t1 12345678 $a0 00000000 +mulu $a5 33333333 $a6 33333333 $s0 00000001 +mulu $a0 f3dd1bb0 $s2 12345678 $t0 aaaaaaaa +mulu $s1 cccccccd $s7 33333333 $s1 ffffffff +mulu $s3 2468acf0 $a4 12345678 $a3 00000002 +mulu $a5 f9ee8dd8 $t3 12345678 $s2 55555555 +mulu $a7 fffffffe $s0 00000001 $t3 fffffffe +mulu $s7 55555555 $a5 00000001 $a4 55555555 +mulu $a4 00000000 $t0 00000000 $s0 fffffffe +mulu $s0 1df4d840 $a1 0000000a $a1 12345678 +mulu $s7 38e38e39 $a0 55555555 $a3 55555555 +mulu $a6 fffffff6 $s7 0000000a $s5 ffffffff +mulu $s7 eca86422 $a4 fffffffe $a1 09abcdef +mulu $a0 0a3d70a4 $a2 cccccccc $s0 33333333 +mulu $a6 bbbbbbbc $a0 55555555 $a5 cccccccc +mulu $a3 0000000a $s6 0000000a $a5 00000001 +mulu $t0 2468acf0 $s4 00000002 $s7 12345678 +mulu $a1 fffffffe $t1 00000001 $s1 fffffffe +mulu $a3 0a3d70a4 $s6 cccccccc $s2 33333333 +mulu $a6 aaaaaaab $t0 55555555 $a3 ffffffff +mulu $s4 fcc6bb5b $s5 55555555 $a5 09abcdef +mulu $s2 55555555 $s5 00000001 $a6 55555555 +mulu $a1 edcba988 $a3 ffffffff $a2 12345678 +mulu $t0 2f8f21e8 $s2 12345678 $s4 33333333 +mulu $t2 cccccccd $a1 ffffffff $a4 33333333 +mulu $t1 00000000 $a7 00000000 $s6 0000000a +mulu $a7 00000000 $a4 00000000 $a6 fffffffe +mulu $a6 66666668 $s6 cccccccc $t0 fffffffe +mulu $t2 ffffffec $s5 0000000a $a5 fffffffe +sub $s4 aaaaaaa9 $s1 aaaaaaaa $a5 00000001 +sub $s6 55555553 $a6 55555555 $a0 00000002 +sub $a6 aaaaaaa8 $a7 aaaaaaaa $a6 00000002 +sub $a0 55555553 $t3 55555555 $a4 00000002 +sub $t2 12345678 $s4 12345678 $t2 00000000 +sub $a0 aaaaaaaa $a5 ffffffff $a2 55555555 +sub $a4 0000000b $a1 0000000a $t3 ffffffff +sub $t3 09abcdf1 $s0 09abcdef $t0 fffffffe +sub $s7 ffffffff $t1 fffffffe $s2 ffffffff +sub $s1 ffffffff $a2 ffffffff $s0 00000000 +sub $s4 00000000 $t0 12345678 $s5 12345678 +sub $s1 f6543213 $s6 00000002 $t3 09abcdef +sub $t1 cccccccc $a0 ffffffff $a5 33333333 +sub $s6 55555554 $s0 55555555 $s1 00000001 +sub $a0 6789abce $a6 12345678 $a5 aaaaaaaa +sub $a6 09abcde5 $s3 09abcdef $a2 0000000a +sub $s2 d6789abc $s3 09abcdef $a5 33333333 +sub $t3 00000001 $t1 00000001 $a7 00000000 +sub $s2 fffffff7 $t0 00000001 $a0 0000000a +sub $a2 3cdf0123 $s2 09abcdef $s5 cccccccc +sub $a1 cccccccb $s7 fffffffe $s2 33333333 +sub $s2 fffffffe $t0 00000000 $s1 00000002 +sub $s2 00000003 $s7 00000001 $s6 fffffffe +sub $t3 df012345 $s6 12345678 $a7 33333333 +sub $s0 33333334 $s1 00000000 $a2 cccccccc +sub $a7 33333335 $a2 33333333 $t2 fffffffe +sub $s3 3333333e $a6 0000000a $s5 cccccccc +sub $s3 cccccccc $a4 cccccccc $s4 00000000 +sub $s0 cccccccb $a2 fffffffe $a3 33333333 +sub $a6 3333333e $s6 0000000a $s7 cccccccc +sub $a1 edcba989 $s5 00000001 $a1 12345678 +sub $s2 ccccccca $a2 cccccccc $t0 00000002 +sub $s6 ccccccc2 $s3 cccccccc $s5 0000000a +sub $s1 4ba98766 $s3 55555555 $s1 09abcdef +sub $s1 3333333e $a2 0000000a $a5 cccccccc +sub $a3 cccccccd $a2 cccccccc $s2 ffffffff +sub $t0 ccccccca $a6 cccccccc $a0 00000002 +sub $a7 33333332 $t3 33333333 $t2 00000001 +sub $a3 00000000 $a2 cccccccc $a2 aaaaaaaa +subu[32] $a5 12345677 $a6 12345678 $s2 00000001 +subu[32] $a7 00000000 $s0 0000000a $a2 0000000a +subu[32] $t2 00000000 $a4 aaaaaaaa $a4 0000000a +subu[32] $a1 00000000 $t0 ffffffff $t3 ffffffff +subu[32] $t2 edcba987 $s5 ffffffff $s4 12345678 +subu[32] $a3 33333334 $s4 33333333 $a0 ffffffff +subu[32] $s1 33333335 $a2 00000001 $a3 cccccccc +subu[32] $s6 cccccccc $t2 cccccccc $a4 00000000 +subu[32] $t1 fffffffd $a6 ffffffff $s4 00000002 +subu[32] $a5 0000000a $s7 0000000a $a3 00000000 +subu[32] $a4 aaaaaaaa $s7 aaaaaaaa $s5 00000000 +subu[32] $s3 aaaaaaaa $s3 aaaaaaaa $t1 00000000 +subu[32] $a6 55555555 $s5 ffffffff $t2 aaaaaaaa +subu[32] $s6 55555554 $a7 55555555 $s7 00000001 +subu[32] $s7 fffffff8 $s0 00000002 $s5 0000000a +subu[32] $s4 edcba988 $a5 00000000 $t0 12345678 +subu[32] $t1 22222222 $s4 55555555 $a1 33333333 +subu[32] $a6 00000004 $a6 00000002 $s4 fffffffe +subu[32] $a1 00000003 $a1 00000001 $s7 fffffffe +subu[32] $s3 12345678 $a6 12345678 $s1 00000000 +subu[32] $t0 fffffff5 $a1 ffffffff $t0 0000000a +subu[32] $t2 00000000 $a2 12345678 $t2 12345678 +subu[32] $a4 edcba992 $a3 0000000a $a2 12345678 +subu[32] $s7 aaaaaaab $s3 00000000 $a4 55555555 +subu[32] $a6 55555555 $s5 ffffffff $a7 aaaaaaaa +subu[32] $s1 12345676 $a4 12345678 $s2 00000002 +subu[32] $t3 55555557 $a6 00000001 $a4 aaaaaaaa +subu[32] $t1 33333335 $a5 00000001 $s2 cccccccc +subu[32] $a0 22222222 $t3 55555555 $a7 33333333 +subu[32] $t1 aaaaaab5 $a2 0000000a $s0 55555555 +subu[32] $s7 fffffffe $t3 fffffffe $s7 00000000 +subu[32] $s3 edcba986 $t0 fffffffe $t1 12345678 +subu[32] $s0 00000000 $s5 cccccccc $a5 cccccccc +subu[32] $a1 00000003 $a2 00000002 $s2 ffffffff +subu[32] $a2 cccccccc $a3 ffffffff $s1 33333333 +subu[32] $a6 88888889 $s3 55555555 $t3 cccccccc +subu[32] $s5 aaaaaaaa $a1 aaaaaaaa $a4 00000000 +subu[32] $t0 edcba987 $s4 ffffffff $a4 12345678 +subu[32] $s2 edcba989 $a5 00000001 $s3 12345678 +subu[32] $a3 29876544 $a0 33333333 $s4 09abcdef +subu[16] $a1 1234566e $a3 12345678 $a2 0000000a +subu[16] $a0 00000000 $s0 09abcdef $s0 00000002 +subu[16] $a0 00000001 $s1 00000000 $a0 ffffffff +subu[16] $a0 ba987654 $a1 cccccccc $s1 12345678 +subu[16] $a3 00000000 $a3 fffffffe $s0 fffffffe +subu[16] $a2 08888889 $a2 12345678 $a3 09abcdef +subu[16] $s2 edcba992 $a3 0000000a $s3 12345678 +subu[16] $a0 22222222 $a1 cccccccc $a2 aaaaaaaa +subu[16] $s1 22222222 $s0 55555555 $s1 33333333 +subu[16] $s3 00000000 $s2 aaaaaaaa $s2 09abcdef +subu[16] $a0 00000002 $a0 00000000 $s2 fffffffe +subu[16] $s0 09abcdef $s2 09abcdef $a0 00000000 +subu[16] $s0 00000001 $s2 00000002 $s0 00000001 +subu[16] $a2 f6543211 $a3 00000000 $a0 09abcdef +subu[16] $a0 55555555 $a2 55555555 $a3 00000000 +subu[16] $a0 fffffff4 $s1 fffffffe $s2 0000000a +subu[16] $a1 09abcdee $s3 09abcdef $a1 00000001 +subu[16] $a0 f6543211 $s0 00000000 $a2 09abcdef +subu[16] $a2 fffffffd $s0 fffffffe $a1 00000001 +subu[16] $a0 aaaaaaab $a0 aaaaaaaa $a2 ffffffff +subu[16] $a1 29876544 $a1 33333333 $s3 09abcdef +subu[16] $s3 88888889 $s1 33333333 $s0 aaaaaaaa +subu[16] $s1 edcba989 $s3 00000001 $a3 12345678 +subu[16] $s2 cccccccb $s3 cccccccc $a2 00000001 +subu[16] $s2 fffffff7 $a3 00000001 $s0 0000000a +subu[16] $a3 aaaaaaab $a0 55555555 $a2 aaaaaaaa +subu[16] $s3 88888889 $s3 55555555 $a1 cccccccc +subu[16] $a0 77777777 $s1 cccccccc $a2 55555555 +subu[16] $s2 0000000b $a2 0000000a $a1 ffffffff +subu[16] $a0 55555554 $s3 fffffffe $a0 aaaaaaaa +subu[16] $s3 55555557 $a0 00000001 $a3 aaaaaaaa +subu[16] $s0 ffffffff $s3 fffffffe $a0 ffffffff +subu[16] $a0 fffffffc $s1 fffffffe $s0 00000002 +subu[16] $a1 00000001 $a2 00000002 $a0 00000001 +subu[16] $a3 00000000 $a1 aaaaaaaa $a1 55555555 +subu[16] $a2 4ba98766 $s0 55555555 $a1 09abcdef +subu[16] $a1 cccccccd $a1 00000000 $s3 33333333 +subu[16] $s3 09abcdee $a1 09abcdef $s0 00000001 +subu[16] $a1 aaaaaab5 $a0 0000000a $s1 55555555 +subu[16] $a0 00000000 $s2 ffffffff $s0 ffffffff +addiu[32] $a3 00001be2 $a0 fffffffe, 7140 +addiu[32] $a4 12351955 $a4 12345678, 49885 +addiu[32] $a6 aaaab251 $a0 aaaaaaaa, 1959 +addiu[32] $a6 0000b2df $a7 00000000, 45791 +addiu[32] $s3 00004a5c $a5 00000002, 19034 +addiu[32] $s0 12348769 $a4 12345678, 12529 +addiu[32] $a5 5555f43d $a4 55555555, 40680 +addiu[32] $t1 0000033b $s3 ffffffff, 828 +addiu[32] $a3 3333850a $a0 33333333, 20951 +addiu[32] $t0 aaab8458 $a3 aaaaaaaa, 55726 +addiu[32] $a4 5556268f $s0 55555555, 53562 +addiu[32] $s0 3333d7d2 $s6 33333333, 42143 +addiu[32] $s3 000040aa $s0 ffffffff, 16555 +addiu[32] $a4 33339344 $a0 33333333, 24593 +addiu[32] $t0 0000adb3 $s7 0000000a, 44457 +addiu[32] $a6 5556453e $s7 55555555, 61417 +addiu[32] $a7 0000f457 $s3 00000000, 62551 +addiu[32] $a6 1234b6d6 $s5 12345678, 24670 +addiu[32] $a1 aaab4d03 $a4 aaaaaaaa, 41561 +addiu[32] $s2 cccd6679 $s5 cccccccc, 39341 +addiu[32] $s5 aaab37ff $a2 aaaaaaaa, 36181 +addiu[32] $s6 00009000 $s5 00000002, 36862 +addiu[32] $s0 00005436 $s0 00000000, 21558 +addiu[32] $a3 0000708b $s2 00000001, 28810 +addiu[32] $s5 0000a491 $s0 fffffffe, 42131 +addiu[32] $s5 123536e2 $s0 12345678, 57450 +addiu[32] $a4 00004e72 $t2 00000000, 20082 +addiu[32] $s4 09ac1130 $a0 09abcdef, 17217 +addiu[32] $s6 09abfb13 $s7 09abcdef, 11556 +addiu[32] $a1 0000d333 $t2 00000002, 54065 +addiu[48] $a6 e43e6951 old $a6 00000001, -465671856 +addiu[48] $a7 10f82e0a old $a7 cccccccc, 1143693630 +addiu[48] $t1 07b6f1fc old $t1 aaaaaaaa, 1561085778 +addiu[48] $t2 30856121 old $t2 55555555, -617608244 +addiu[48] $a7 567d8f41 old $a7 09abcdef, 1288814930 +addiu[48] $t2 0a6f9f55 old $t2 55555555, -1256568320 +addiu[48] $a5 0e1cf62a old $a5 00000002, 236779048 +addiu[48] $a5 30a41d60 old $a5 33333333, -42931667 +addiu[48] $a0 72ef8735 old $a0 ffffffff, 1928300342 +addiu[48] $s4 a4d4ae58 old $s4 0000000a, -1529565618 +addiu[48] $a4 3786059d old $a4 55555555, -500125624 +addiu[48] $a0 32abfa26 old $a0 fffffffe, 850131496 +addiu[48] $s0 dcff4cfc old $s0 0000000a, -587248398 +addiu[48] $s7 c916d6de old $s7 fffffffe, -921250080 +addiu[48] $a4 62081533 old $a4 cccccccc, -1791276953 +addiu[48] $s7 58031332 old $s7 0000000a, 1476596520 +addiu[48] $a1 b149e6f2 old $a1 12345678, -1625976710 +addiu[48] $a7 8666fea0 old $a7 fffffffe, -2040070494 +addiu[48] $t0 48e897ca old $t0 00000002, 1223202760 +addiu[48] $a3 fd429b14 old $a3 0000000a, -45966582 +addiu[48] $a0 d2e9aded old $a0 09abcdef, -918691842 +addiu[48] $s5 c151a1a5 old $s5 09abcdef, -1213869130 +addiu[48] $t3 2d79b258 old $t3 fffffffe, 762950234 +addiu[48] $s6 27b80a12 old $s6 33333333, -192620833 +addiu[48] $s6 d89bc393 old $s6 00000001, -660880494 +addiu[48] $t3 11592581 old $t3 ffffffff, 291054978 +addiu[48] $a7 28f2ff40 old $a7 55555555, -744642069 +addiu[48] $s4 ecb3a34a old $s4 fffffffe, -323771572 +addiu[48] $a1 b3421cfa old $a1 12345678, -1592932734 +addiu[48] $s7 d8081168 old $s7 00000002, -670559898 +addiu[gp48] $s1 f8db4aca $gp aaaaaaaa, 1311809568 +addiu[gp48] $t2 c033e1c2 $gp 00000002, -1070341696 +addiu[gp48] $a7 6fb98073 $gp 00000002, 1874428017 +addiu[gp48] $s0 8284f8fa $gp 00000001, -2105214727 +addiu[gp48] $s7 4d3d679e $gp fffffffe, 1295869856 +addiu[gp48] $s0 9c054546 $gp aaaaaaaa, -245720420 +addiu[gp48] $a4 25a9ad3f $gp 00000002, 631876925 +addiu[gp48] $a5 8e16ed7a $gp 09abcdef, -2073354357 +addiu[gp48] $s0 4ab0d019 $gp cccccccc, 2112095053 +addiu[gp48] $t0 308406cd $gp 00000000, 813958861 +addiu[gp48] $s1 a0dab8e6 $gp 12345678, -1901698450 +addiu[gp48] $t3 c1c9b6d5 $gp 12345678, -1349164963 +addiu[gp48] $t2 c55a0340 $gp 12345678, -1289376568 +addiu[gp48] $t0 6f06cefa $gp 55555555, 431061413 +addiu[gp48] $a2 e7ed1ef4 $gp cccccccc, 455103016 +addiu[gp48] $t3 4d07db9c $gp 0000000a, 1292360594 +addiu[gp48] $t0 f955922c $gp 00000000, -111832532 +addiu[gp48] $s7 11588e9a $gp 00000002, 291016344 +addiu[gp48] $a5 d7b44f32 $gp cccccccc, 182944358 +addiu[gp48] $s6 1c7115bb $gp 33333333, -381820280 +addiu[gp48] $a7 05f85ccf $gp 09abcdef, -62091552 +addiu[gp48] $t0 16c6df1f $gp 00000001, 382131998 +addiu[gp48] $a7 289a3c9d $gp 00000000, 681196701 +addiu[gp48] $t3 25c3f124 $gp 12345678, 328178348 +addiu[gp48] $a3 b87dcd59 $gp ffffffff, -1199714982 +addiu[gp48] $t2 e849c94e $gp cccccccc, 461175938 +addiu[gp48] $a3 f7a69db8 $gp 12345678, -445495488 +addiu[gp48] $t1 f02727d0 $gp 00000000, -265869360 +addiu[gp48] $s6 36c048d9 $gp 00000002, 918571223 +addiu[gp48] $s3 dec1e5a9 $gp 00000001, -557718104 +addiu[gp.b] $a1 5556885d $gp 55555555, 78600 +addiu[gp.b] $a4 0000df6e $gp fffffffe, 57200 +addiu[gp.b] $s5 0001c5a5 $gp 00000001, 116132 +addiu[gp.b] $t1 0000d007 $gp ffffffff, 53256 +addiu[gp.b] $a3 ccd0c419 $gp cccccccc, 259917 +addiu[gp.b] $s4 3335ebd5 $gp 33333333, 178338 +addiu[gp.b] $a4 0000f323 $gp 0000000a, 62233 +addiu[gp.b] $a1 0000d9eb $gp ffffffff, 55788 +addiu[gp.b] $s7 00015e52 $gp fffffffe, 89684 +addiu[gp.b] $s0 0001df8d $gp 0000000a, 122755 +addiu[gp.b] $t0 00038592 $gp 00000000, 230802 +addiu[gp.b] $a6 00024045 $gp fffffffe, 147527 +addiu[gp.b] $s7 0002f776 $gp fffffffe, 194424 +addiu[gp.b] $s7 555662dd $gp 55555555, 69000 +addiu[gp.b] $s3 000306c6 $gp ffffffff, 198343 +addiu[gp.b] $a7 00012da0 $gp fffffffe, 77218 +addiu[gp.b] $a4 ccd08bbe $gp cccccccc, 245490 +addiu[gp.b] $s1 3335e91d $gp 33333333, 177642 +addiu[gp.b] $a2 cccfa99c $gp cccccccc, 187600 +addiu[gp.b] $s3 000079e8 $gp 0000000a, 31198 +addiu[gp.b] $a0 00027ca2 $gp ffffffff, 162979 +addiu[gp.b] $s7 00013112 $gp 00000001, 78097 +addiu[gp.b] $a5 00016421 $gp 00000001, 91168 +addiu[gp.b] $a1 00039f94 $gp 00000002, 237458 +addiu[gp.b] $a3 ccce5664 $gp cccccccc, 100760 +addiu[gp.b] $s6 0000a3a2 $gp 0000000a, 41880 +addiu[gp.b] $a5 0001c782 $gp 00000002, 116608 +addiu[gp.b] $s5 0001c580 $gp 0000000a, 116086 +addiu[gp.b] $s2 0003d716 $gp 00000002, 251668 +addiu[gp.b] $a7 aaaea04a $gp aaaaaaaa, 259488 +addiu[gp.w] $a7 aaaf522a $gp aaaaaaaa, 305024 +addiu[gp.w] $a0 00083a3e $gp fffffffe, 539200 +addiu[gp.w] $t3 cce164d0 $gp cccccccc, 1349636 +addiu[gp.w] $a1 001eac1a $gp 0000000a, 2010128 +addiu[gp.w] $s5 001b6482 $gp 0000000a, 1795192 +addiu[gp.w] $s6 000968f3 $gp ffffffff, 616692 +addiu[gp.w] $a1 001d5a61 $gp 00000001, 1923680 +addiu[gp.w] $s3 556404cd $gp 55555555, 962424 +addiu[gp.w] $a6 aaba63e6 $gp aaaaaaaa, 1030460 +addiu[gp.w] $s6 001a79b4 $gp 00000000, 1735092 +addiu[gp.w] $s4 000a5696 $gp fffffffe, 677528 +addiu[gp.w] $a7 09b75433 $gp 09abcdef, 755268 +addiu[gp.w] $t0 0001508a $gp fffffffe, 86156 +addiu[gp.w] $s0 001c27ef $gp ffffffff, 1845232 +addiu[gp.w] $s5 cce7b110 $gp cccccccc, 1762372 +addiu[gp.w] $a6 0016e3df $gp ffffffff, 1500128 +addiu[gp.w] $a1 0018d4a6 $gp 0000000a, 1627292 +addiu[gp.w] $t1 000b72d7 $gp ffffffff, 750296 +addiu[gp.w] $s3 09b220cb $gp 09abcdef, 414428 +addiu[gp.w] $s3 556cbc19 $gp 55555555, 1533636 +addiu[gp.w] $s0 334d9f5b $gp 33333333, 1731624 +addiu[gp.w] $a3 0006eac0 $gp 00000000, 453312 +addiu[gp.w] $s0 124b0bc0 $gp 12345678, 1488200 +addiu[gp.w] $a3 0006cf55 $gp 00000001, 446292 +addiu[gp.w] $a1 1240f718 $gp 12345678, 827552 +addiu[gp.w] $t3 001cde52 $gp 0000000a, 1891912 +addiu[gp.w] $t0 555b78b1 $gp 55555555, 402268 +addiu[gp.w] $a0 000d688d $gp 00000001, 878732 +addiu[gp.w] $t1 3339e593 $gp 33333333, 438880 +addiu[gp.w] $t1 00116f41 $gp 00000001, 1142592 +addiu[r1.sp] $s1 0000005c $sp 00000000, 92 +addiu[r1.sp] $s1 000000d4 $sp 00000000, 212 +addiu[r1.sp] $a1 0000002a $sp 0000000a, 32 +addiu[r1.sp] $a1 00000099 $sp 00000001, 152 +addiu[r1.sp] $a2 0000004e $sp 00000002, 76 +addiu[r1.sp] $s3 12345748 $sp 12345678, 208 +addiu[r1.sp] $s2 12345768 $sp 12345678, 240 +addiu[r1.sp] $s1 09abce03 $sp 09abcdef, 20 +addiu[r1.sp] $a2 33333427 $sp 33333333, 244 +addiu[r1.sp] $a0 00000094 $sp 00000000, 148 +addiu[r1.sp] $a2 3333341f $sp 33333333, 236 +addiu[r1.sp] $s2 555555d5 $sp 55555555, 128 +addiu[r1.sp] $s2 cccccdbc $sp cccccccc, 240 +addiu[r1.sp] $s3 00000026 $sp 0000000a, 28 +addiu[r1.sp] $a0 cccccdc0 $sp cccccccc, 244 +addiu[r1.sp] $s2 000000d9 $sp 00000001, 216 +addiu[r1.sp] $a1 0000009b $sp ffffffff, 156 +addiu[r1.sp] $s0 000000a9 $sp 00000001, 168 +addiu[r1.sp] $a3 00000047 $sp ffffffff, 72 +addiu[r1.sp] $a3 0000008f $sp ffffffff, 144 +addiu[r1.sp] $a2 09abcea3 $sp 09abcdef, 180 +addiu[r1.sp] $s2 5555561d $sp 55555555, 200 +addiu[r1.sp] $s2 aaaaab2e $sp aaaaaaaa, 132 +addiu[r1.sp] $s3 09abce67 $sp 09abcdef, 120 +addiu[r1.sp] $s0 09abce8f $sp 09abcdef, 160 +addiu[r1.sp] $a0 00000096 $sp fffffffe, 152 +addiu[r1.sp] $a2 00000055 $sp 00000001, 84 +addiu[r1.sp] $s2 000000f1 $sp 00000001, 240 +addiu[r1.sp] $s2 09abce7b $sp 09abcdef, 140 +addiu[r1.sp] $s3 000000aa $sp fffffffe, 172 +addiu[r2] $a0 ccccccd0 $a0 cccccccc, 4 +addiu[r2] $s3 aaaaaabe $a2 aaaaaaaa, 20 +addiu[r2] $s2 00000012 $s1 0000000a, 8 +addiu[r2] $s3 0000001a $a1 0000000a, 16 +addiu[r2] $a1 0000000a $s3 00000002, 8 +addiu[r2] $a3 00000017 $a2 ffffffff, 24 +addiu[r2] $s0 00000003 $a0 ffffffff, 4 +addiu[r2] $s3 33333333 $a3 33333333, 0 +addiu[r2] $s0 0000000a $s1 00000002, 8 +addiu[r2] $a0 aaaaaaae $s3 aaaaaaaa, 4 +addiu[r2] $s0 cccccce4 $s1 cccccccc, 24 +addiu[r2] $s2 0000001e $s2 0000000a, 20 +addiu[r2] $s1 12345678 $a1 12345678, 0 +addiu[r2] $a3 00000012 $s0 00000002, 16 +addiu[r2] $s0 aaaaaac2 $a0 aaaaaaaa, 24 +addiu[r2] $s0 00000011 $s1 00000001, 16 +addiu[r2] $a2 00000009 $a2 00000001, 8 +addiu[r2] $a1 00000003 $a3 ffffffff, 4 +addiu[r2] $a1 00000013 $a1 ffffffff, 20 +addiu[r2] $s3 0000000e $s2 00000002, 12 +addiu[r2] $s3 33333333 $a1 33333333, 0 +addiu[r2] $s1 00000019 $a0 00000001, 24 +addiu[r2] $a1 3333333f $s3 33333333, 12 +addiu[r2] $s0 3333333f $a0 33333333, 12 +addiu[r2] $a3 0000000b $a0 ffffffff, 12 +addiu[r2] $a3 12345684 $a2 12345678, 12 +addiu[r2] $a3 00000000 $a3 00000000, 0 +addiu[r2] $a1 ccccccd4 $a3 cccccccc, 8 +addiu[r2] $s0 aaaaaaba $s1 aaaaaaaa, 16 +addiu[r2] $s2 09abcdfb $s3 09abcdef, 12 +addiu[rs5] $a6 aaaaaaa6 old $a6 aaaaaaaa, -4 +addiu[rs5] $a6 33333334 old $a6 33333333, 1 +addiu[rs5] $s4 cccccccd old $s4 cccccccc, 1 +addiu[rs5] $a5 fffffffc old $a5 00000000, -4 +addiu[rs5] $t3 55555556 old $t3 55555555, 1 +addiu[rs5] $a7 33333330 old $a7 33333333, -3 +addiu[rs5] $s2 09abcdef old $s2 09abcdef, 0 +addiu[rs5] $a2 aaaaaaa6 old $a2 aaaaaaaa, -4 +addiu[rs5] $a7 fffffffe old $a7 00000000, -2 +addiu[rs5] $t1 00000003 old $t1 00000001, 2 +addiu[rs5] $a0 00000001 old $a0 ffffffff, 2 +addiu[rs5] $s4 00000005 old $s4 00000002, 3 +addiu[rs5] $s1 00000001 old $s1 00000002, -1 +addiu[rs5] $s6 0000000a old $s6 0000000a, 0 +addiu[rs5] $a3 aaaaaaac old $a3 aaaaaaaa, 2 +addiu[rs5] $t0 09abcdef old $t0 09abcdef, 0 +addiu[rs5] $t1 33333332 old $t1 33333333, -1 +addiu[rs5] $a5 09abcdee old $a5 09abcdef, -1 +addiu[rs5] $t1 00000005 old $t1 00000002, 3 +addiu[rs5] $s4 fffffffe old $s4 00000000, -2 +addiu[rs5] $s2 00000009 old $s2 0000000a, -1 +addiu[rs5] $a4 0000000c old $a4 0000000a, 2 +addiu[rs5] $s0 ffffffff old $s0 00000002, -3 +addiu[rs5] $a3 00000001 old $a3 ffffffff, 2 +addiu[rs5] $s3 cccccccf old $s3 cccccccc, 3 +addiu[rs5] $a2 ccccccce old $a2 cccccccc, 2 +addiu[rs5] $s2 00000006 old $s2 0000000a, -4 +addiu[rs5] $t1 12345677 old $t1 12345678, -1 +addiu[rs5] $s0 00000002 old $s0 00000000, 2 +addiu[rs5] $s3 00000003 old $s3 00000000, 3 +addiu[neg] $t1 fffff2a8 $a2 00000000, -3416 +addiu[neg] $t2 fffffda4 $s5 fffffffe, -602 +addiu[neg] $a4 555547f7 $a7 55555555, -3422 +addiu[neg] $s2 123452d3 $a5 12345678, -933 +addiu[neg] $a7 fffff1ed $t3 00000002, -3605 +addiu[neg] $s4 fffffcf7 $a7 fffffffe, -775 +addiu[neg] $s7 fffff764 $a6 00000001, -2205 +addiu[neg] $t1 aaaaa2e8 $a3 aaaaaaaa, -1986 +addiu[neg] $t1 55555546 $a4 55555555, -15 +addiu[neg] $s2 12344f66 $a4 12345678, -1810 +addiu[neg] $a4 aaaa9f04 $s0 aaaaaaaa, -2982 +addiu[neg] $s5 09abc826 $s3 09abcdef, -1481 +addiu[neg] $s2 fffff63c $s6 fffffffe, -2498 +addiu[neg] $a2 33332d52 $s1 33333333, -1505 +addiu[neg] $s7 fffffbb1 $s4 fffffffe, -1101 +addiu[neg] $s7 fffff7b2 $s3 00000002, -2128 +addiu[neg] $s7 aaaaa66d $t2 aaaaaaaa, -1085 +addiu[neg] $s6 ccccc31a $t2 cccccccc, -2482 +addiu[neg] $a6 aaaaa92f $a4 aaaaaaaa, -379 +addiu[neg] $s7 fffff893 $a3 00000000, -1901 +addiu[neg] $s2 ccccbe38 $s7 cccccccc, -3732 +addiu[neg] $a4 333324d0 $s5 33333333, -3683 +addiu[neg] $a6 fffffad7 $s7 00000000, -1321 +addiu[neg] $a6 12344c86 $s0 12345678, -2546 +addiu[neg] $a6 09abcd1f $a2 09abcdef, -208 +addiu[neg] $a0 09abc6f5 $a7 09abcdef, -1786 +addiu[neg] $s4 fffff64b $a7 0000000a, -2495 +addiu[neg] $s3 fffffd32 $a2 ffffffff, -717 +addiu[neg] $t1 fffff13a $a1 ffffffff, -3781 +addiu[neg] $a6 ccccc240 $s2 cccccccc, -2700 diff --git a/none/tests/nanomips/arithmetic.vgtest b/none/tests/nanomips/arithmetic.vgtest new file mode 100644 index 0000000000..1bda245cad --- /dev/null +++ b/none/tests/nanomips/arithmetic.vgtest @@ -0,0 +1,2 @@ +prog: arithmetic +vgopts: -q \ No newline at end of file diff --git a/none/tests/nanomips/bits.S b/none/tests/nanomips/bits.S new file mode 100644 index 0000000000..a5ae95dcb3 --- /dev/null +++ b/none/tests/nanomips/bits.S @@ -0,0 +1,1051 @@ + .data + test_words: + .word 0x0 + .word 0xFFFFFFFF + .word 0x55555555 + .word 0xAAAAAAAA + .word 0x33333333 + .word 0xCCCCCCCC + .word 0x12345678 + .word 0x9ABCDEF + test_shifts: + .word 0 + .word 1 + .word 7 + .word 8 + .word 16 + .word 17 + .word 31 + .word 32 + + .text + .align 1 + + .macro TWO_REG label, instruction, reg1, reg2, offset, mem + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + &instruction ®1, ®2 + move $a1, ®1 + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro THREE_REG label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®2, &offset1($ra) + li $ra, &mem2 + lw ®3, &offset2($ra) + &instruction ®1, ®2, ®3 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + # One of source reg is also destination + .macro TWO_REG_16 label, instruction, reg1, reg2, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x old ®1 %08x ®2 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®1, &offset1($ra) + li $ra, &mem2 + lw ®2, &offset2($ra) + &instruction ®1, ®2 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_1_IMM label, instruction, reg1, reg2, offset, mem, imm + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x, &imm\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + &instruction ®1, ®2, &imm + move $a1, ®1 + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_2_IMM label, instruction, reg1, reg2, offset, mem, imm1, imm2 + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x, &imm1, &imm2\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + &instruction ®1, ®2, &imm1, &imm2 + move $a1, ®1 + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_2_IMM_B label, instruction, reg1, reg2, offset1, offset2, mem1, mem2, imm1, imm2 + .data + &label: + .ascii "&instruction ®1 %08x old ®1 %08x ®2 %08x, &imm1, &imm2\n" + .byte 0 + .text + li $ra, &mem1 + lw ®1, &offset1($ra) + li $ra, &mem2 + lw ®2, &offset2($ra) + &instruction ®1, ®2, &imm1, &imm2 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro THREE_REG_1_IMM label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2, imm + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x, &imm\n" + .byte 0 + .text + li $ra, &mem1 + lw ®2, &offset1($ra) + li $ra, &mem2 + lw ®3, &offset2($ra) + &instruction ®1, ®2, ®3, &imm + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .globl main + .ent main + .type main, @function +main: + .set noreorder + .set nomacro + save 16, $ra + +# clo + TWO_REG message1, clo, $a2, $s1, 28, test_words + TWO_REG message2, clo, $s0, $a6, 20, test_words + TWO_REG message3, clo, $t0, $s4, 12, test_words + TWO_REG message4, clo, $t0, $a7, 12, test_words + TWO_REG message5, clo, $s0, $a2, 28, test_words + TWO_REG message6, clo, $s0, $s0, 20, test_words + TWO_REG message7, clo, $s2, $s0, 8, test_words + TWO_REG message8, clo, $a7, $s4, 4, test_words + TWO_REG message9, clo, $a7, $s4, 4, test_words + TWO_REG message10, clo, $s2, $s1, 28, test_words + TWO_REG message11, clo, $s0, $a3, 4, test_words + TWO_REG message12, clo, $s7, $s3, 28, test_words + TWO_REG message13, clo, $s4, $t3, 28, test_words + TWO_REG message14, clo, $a3, $t0, 8, test_words + TWO_REG message15, clo, $s3, $a4, 20, test_words + TWO_REG message16, clo, $a2, $a4, 4, test_words + TWO_REG message17, clo, $s7, $a6, 20, test_words + TWO_REG message18, clo, $s2, $s5, 8, test_words + TWO_REG message19, clo, $s7, $a0, 8, test_words + TWO_REG message20, clo, $a5, $s2, 28, test_words + +# clz + TWO_REG message21, clz, $a4, $s2, 12, test_words + TWO_REG message22, clz, $s5, $a6, 24, test_words + TWO_REG message23, clz, $s0, $s2, 8, test_words + TWO_REG message24, clz, $t0, $s6, 24, test_words + TWO_REG message25, clz, $s6, $t1, 24, test_words + TWO_REG message26, clz, $s7, $s3, 24, test_words + TWO_REG message27, clz, $a5, $a6, 0, test_words + TWO_REG message28, clz, $a6, $s0, 20, test_words + TWO_REG message29, clz, $a0, $a4, 20, test_words + TWO_REG message30, clz, $a6, $a1, 12, test_words + TWO_REG message31, clz, $s6, $a5, 4, test_words + TWO_REG message32, clz, $a5, $t3, 28, test_words + TWO_REG message33, clz, $t3, $a7, 8, test_words + TWO_REG message34, clz, $s5, $s7, 16, test_words + TWO_REG message35, clz, $s7, $s2, 4, test_words + TWO_REG message36, clz, $s5, $a5, 0, test_words + TWO_REG message37, clz, $s7, $a2, 24, test_words + TWO_REG message38, clz, $a3, $s1, 28, test_words + TWO_REG message39, clz, $a4, $s1, 12, test_words + TWO_REG message40, clz, $t1, $t0, 16, test_words + +# not + TWO_REG message41, not, $a0, $s2, 4, test_words + TWO_REG message42, not, $a2, $s3, 16, test_words + TWO_REG message43, not, $a1, $s2, 16, test_words + TWO_REG message44, not, $a3, $a0, 28, test_words + TWO_REG message45, not, $s3, $s3, 4, test_words + TWO_REG message46, not, $a0, $s1, 28, test_words + TWO_REG message47, not, $a0, $a0, 4, test_words + TWO_REG message48, not, $s3, $s0, 24, test_words + TWO_REG message49, not, $s2, $s0, 0, test_words + TWO_REG message50, not, $a1, $a2, 0, test_words + TWO_REG message51, not, $s1, $a2, 24, test_words + TWO_REG message52, not, $s2, $s0, 20, test_words + TWO_REG message53, not, $a3, $s2, 12, test_words + TWO_REG message54, not, $s3, $a1, 12, test_words + TWO_REG message55, not, $s2, $a1, 12, test_words + TWO_REG message56, not, $a0, $a1, 0, test_words + TWO_REG message57, not, $s3, $a2, 0, test_words + TWO_REG message58, not, $a0, $a1, 16, test_words + TWO_REG message59, not, $s3, $s3, 4, test_words + TWO_REG message60, not, $s3, $a0, 12, test_words + +# seb + TWO_REG message61, seb, $t3, $s1, 20, test_words + TWO_REG message62, seb, $a5, $a3, 8, test_words + TWO_REG message63, seb, $a2, $t2, 0, test_words + TWO_REG message64, seb, $t1, $s1, 4, test_words + TWO_REG message65, seb, $s1, $t0, 8, test_words + TWO_REG message66, seb, $s4, $s0, 16, test_words + TWO_REG message67, seb, $a4, $s3, 24, test_words + TWO_REG message68, seb, $t0, $t3, 28, test_words + TWO_REG message69, seb, $a5, $s2, 24, test_words + TWO_REG message70, seb, $a6, $s1, 24, test_words + TWO_REG message71, seb, $t1, $a0, 12, test_words + TWO_REG message72, seb, $t2, $a5, 24, test_words + TWO_REG message73, seb, $s0, $t3, 20, test_words + TWO_REG message74, seb, $s0, $t1, 8, test_words + TWO_REG message75, seb, $a2, $a6, 24, test_words + TWO_REG message76, seb, $t0, $s2, 8, test_words + TWO_REG message77, seb, $s4, $s6, 20, test_words + TWO_REG message78, seb, $s6, $a2, 4, test_words + TWO_REG message79, seb, $a1, $t3, 12, test_words + TWO_REG message80, seb, $a3, $a5, 20, test_words + +# seh + TWO_REG message81, seh, $a1, $a2, 20, test_words + TWO_REG message82, seh, $a0, $s5, 12, test_words + TWO_REG message83, seh, $a3, $a1, 8, test_words + TWO_REG message84, seh, $a4, $s2, 28, test_words + TWO_REG message85, seh, $a6, $s4, 20, test_words + TWO_REG message86, seh, $a5, $a0, 28, test_words + TWO_REG message87, seh, $a3, $a5, 20, test_words + TWO_REG message88, seh, $a5, $t3, 0, test_words + TWO_REG message89, seh, $s6, $s5, 12, test_words + TWO_REG message90, seh, $a5, $s0, 4, test_words + TWO_REG message91, seh, $t2, $s2, 12, test_words + TWO_REG message92, seh, $a0, $a2, 0, test_words + TWO_REG message93, seh, $s3, $a5, 8, test_words + TWO_REG message94, seh, $s1, $s1, 0, test_words + TWO_REG message95, seh, $t1, $s0, 16, test_words + TWO_REG message96, seh, $s2, $a5, 0, test_words + TWO_REG message97, seh, $s6, $s0, 4, test_words + TWO_REG message98, seh, $a3, $a5, 20, test_words + TWO_REG message99, seh, $s7, $t3, 8, test_words + TWO_REG message100, seh, $a7, $t1, 24, test_words + +# and[32] + THREE_REG message101, and[32], $t0, $s7, $s4, 12, 28, test_words, test_words + THREE_REG message102, and[32], $s7, $t0, $t2, 16, 24, test_words, test_words + THREE_REG message103, and[32], $a0, $a2, $s6, 4, 24, test_words, test_words + THREE_REG message104, and[32], $a6, $a7, $a7, 8, 20, test_words, test_words + THREE_REG message105, and[32], $a7, $a0, $t1, 20, 4, test_words, test_words + THREE_REG message106, and[32], $s4, $a4, $a3, 12, 20, test_words, test_words + THREE_REG message107, and[32], $a5, $t3, $s1, 8, 28, test_words, test_words + THREE_REG message108, and[32], $s0, $t1, $t3, 28, 4, test_words, test_words + THREE_REG message109, and[32], $a5, $a7, $a3, 28, 0, test_words, test_words + THREE_REG message110, and[32], $a5, $t1, $s3, 0, 12, test_words, test_words + THREE_REG message111, and[32], $a5, $a0, $t3, 24, 20, test_words, test_words + THREE_REG message112, and[32], $s0, $s6, $s1, 12, 24, test_words, test_words + THREE_REG message113, and[32], $s3, $s1, $t1, 16, 28, test_words, test_words + THREE_REG message114, and[32], $s0, $a0, $s0, 12, 12, test_words, test_words + THREE_REG message115, and[32], $t1, $s4, $a6, 4, 12, test_words, test_words + THREE_REG message116, and[32], $a2, $t2, $a0, 8, 12, test_words, test_words + THREE_REG message117, and[32], $a0, $s3, $a3, 28, 20, test_words, test_words + THREE_REG message118, and[32], $s0, $a0, $t3, 20, 12, test_words, test_words + THREE_REG message119, and[32], $s1, $a0, $a4, 28, 16, test_words, test_words + THREE_REG message120, and[32], $s7, $a7, $s5, 12, 12, test_words, test_words + THREE_REG message121, and[32], $s4, $s5, $t3, 28, 8, test_words, test_words + THREE_REG message122, and[32], $a3, $a1, $t0, 28, 12, test_words, test_words + THREE_REG message123, and[32], $a7, $a7, $s2, 8, 28, test_words, test_words + THREE_REG message124, and[32], $a3, $s2, $t3, 28, 0, test_words, test_words + THREE_REG message125, and[32], $s6, $a4, $s0, 12, 12, test_words, test_words + THREE_REG message126, and[32], $s5, $t2, $s3, 24, 24, test_words, test_words + THREE_REG message127, and[32], $t2, $s2, $t3, 20, 4, test_words, test_words + THREE_REG message128, and[32], $t1, $s4, $a3, 20, 0, test_words, test_words + THREE_REG message129, and[32], $a2, $s5, $a7, 4, 28, test_words, test_words + THREE_REG message130, and[32], $a6, $s0, $t2, 20, 28, test_words, test_words + THREE_REG message131, and[32], $t2, $a4, $s4, 8, 12, test_words, test_words + THREE_REG message132, and[32], $s7, $s3, $a5, 8, 20, test_words, test_words + THREE_REG message133, and[32], $s3, $t0, $a0, 8, 24, test_words, test_words + THREE_REG message134, and[32], $a1, $t3, $t2, 16, 4, test_words, test_words + THREE_REG message135, and[32], $t2, $t3, $t2, 24, 16, test_words, test_words + THREE_REG message136, and[32], $a5, $t0, $a4, 28, 8, test_words, test_words + THREE_REG message137, and[32], $a0, $a1, $s2, 0, 16, test_words, test_words + THREE_REG message138, and[32], $t1, $t3, $a3, 8, 8, test_words, test_words + THREE_REG message139, and[32], $s5, $t2, $s6, 4, 0, test_words, test_words + THREE_REG message140, and[32], $s0, $s6, $a0, 28, 28, test_words, test_words + +# nor + THREE_REG message141, nor, $a5, $t1, $a2, 12, 12, test_words, test_words + THREE_REG message142, nor, $a6, $a0, $a4, 8, 0, test_words, test_words + THREE_REG message143, nor, $s2, $a2, $t1, 16, 24, test_words, test_words + THREE_REG message144, nor, $s1, $a1, $a6, 4, 12, test_words, test_words + THREE_REG message145, nor, $a4, $t2, $s5, 8, 12, test_words, test_words + THREE_REG message146, nor, $s6, $t3, $s1, 24, 8, test_words, test_words + THREE_REG message147, nor, $a0, $a3, $t3, 24, 24, test_words, test_words + THREE_REG message148, nor, $a7, $a0, $a6, 12, 28, test_words, test_words + THREE_REG message149, nor, $a2, $s5, $t1, 0, 4, test_words, test_words + THREE_REG message150, nor, $a4, $s1, $a6, 8, 24, test_words, test_words + THREE_REG message151, nor, $s5, $a6, $a4, 28, 16, test_words, test_words + THREE_REG message152, nor, $a7, $a5, $a7, 4, 28, test_words, test_words + THREE_REG message153, nor, $t1, $s1, $s6, 4, 16, test_words, test_words + THREE_REG message154, nor, $s4, $a4, $t0, 24, 28, test_words, test_words + THREE_REG message155, nor, $s3, $s5, $a0, 20, 20, test_words, test_words + THREE_REG message156, nor, $t1, $a5, $a6, 28, 12, test_words, test_words + THREE_REG message157, nor, $s5, $s0, $s5, 4, 12, test_words, test_words + THREE_REG message158, nor, $s1, $a5, $a4, 4, 24, test_words, test_words + THREE_REG message159, nor, $a7, $s6, $a3, 20, 12, test_words, test_words + THREE_REG message160, nor, $t3, $a5, $a7, 0, 16, test_words, test_words + THREE_REG message161, nor, $s6, $t3, $s5, 8, 16, test_words, test_words + THREE_REG message162, nor, $t2, $a3, $s5, 0, 24, test_words, test_words + THREE_REG message163, nor, $a0, $s1, $t3, 20, 12, test_words, test_words + THREE_REG message164, nor, $s2, $s7, $a4, 12, 0, test_words, test_words + THREE_REG message165, nor, $t2, $a2, $t2, 4, 16, test_words, test_words + THREE_REG message166, nor, $a2, $a1, $s5, 20, 4, test_words, test_words + THREE_REG message167, nor, $a1, $t0, $s0, 24, 24, test_words, test_words + THREE_REG message168, nor, $s1, $a4, $a6, 8, 20, test_words, test_words + THREE_REG message169, nor, $t0, $s7, $a2, 28, 0, test_words, test_words + THREE_REG message170, nor, $s1, $s2, $s7, 4, 4, test_words, test_words + THREE_REG message171, nor, $t3, $a3, $t3, 8, 4, test_words, test_words + THREE_REG message172, nor, $a7, $s4, $t2, 20, 20, test_words, test_words + THREE_REG message173, nor, $t3, $a6, $s1, 12, 4, test_words, test_words + THREE_REG message174, nor, $s4, $t0, $s1, 24, 12, test_words, test_words + THREE_REG message175, nor, $a2, $t2, $t2, 4, 8, test_words, test_words + THREE_REG message176, nor, $t2, $a6, $s0, 24, 16, test_words, test_words + THREE_REG message177, nor, $a5, $t1, $s7, 0, 28, test_words, test_words + THREE_REG message178, nor, $s4, $a4, $a3, 24, 4, test_words, test_words + THREE_REG message179, nor, $t1, $a1, $s7, 24, 20, test_words, test_words + THREE_REG message180, nor, $a0, $s2, $s1, 8, 16, test_words, test_words + +# or[32] + THREE_REG message181, or[32], $a0, $s4, $a3, 24, 20, test_words, test_words + THREE_REG message182, or[32], $a1, $a1, $t0, 4, 12, test_words, test_words + THREE_REG message183, or[32], $s0, $a6, $t0, 28, 8, test_words, test_words + THREE_REG message184, or[32], $t0, $a0, $t2, 28, 8, test_words, test_words + THREE_REG message185, or[32], $t3, $s0, $s0, 12, 12, test_words, test_words + THREE_REG message186, or[32], $s1, $s7, $s1, 24, 4, test_words, test_words + THREE_REG message187, or[32], $a2, $s3, $s2, 20, 20, test_words, test_words + THREE_REG message188, or[32], $t3, $t2, $s6, 12, 28, test_words, test_words + THREE_REG message189, or[32], $s5, $s7, $s1, 24, 28, test_words, test_words + THREE_REG message190, or[32], $a3, $t2, $a3, 8, 20, test_words, test_words + THREE_REG message191, or[32], $t1, $s5, $s2, 4, 16, test_words, test_words + THREE_REG message192, or[32], $t1, $a6, $t0, 24, 4, test_words, test_words + THREE_REG message193, or[32], $a5, $a0, $a0, 12, 4, test_words, test_words + THREE_REG message194, or[32], $s5, $a7, $s7, 0, 8, test_words, test_words + THREE_REG message195, or[32], $a6, $a1, $s2, 28, 12, test_words, test_words + THREE_REG message196, or[32], $a5, $t3, $s5, 16, 20, test_words, test_words + THREE_REG message197, or[32], $s7, $t1, $t2, 4, 12, test_words, test_words + THREE_REG message198, or[32], $a7, $a2, $s5, 28, 16, test_words, test_words + THREE_REG message199, or[32], $a2, $a0, $a1, 24, 0, test_words, test_words + THREE_REG message200, or[32], $t2, $t0, $s7, 8, 16, test_words, test_words + THREE_REG message201, or[32], $s1, $a4, $s1, 12, 0, test_words, test_words + THREE_REG message202, or[32], $a5, $t0, $a3, 24, 0, test_words, test_words + THREE_REG message203, or[32], $s0, $s5, $a6, 24, 24, test_words, test_words + THREE_REG message204, or[32], $s5, $a5, $s4, 8, 0, test_words, test_words + THREE_REG message205, or[32], $a5, $s1, $s5, 8, 28, test_words, test_words + THREE_REG message206, or[32], $s5, $t0, $s3, 16, 24, test_words, test_words + THREE_REG message207, or[32], $a7, $a1, $s3, 4, 4, test_words, test_words + THREE_REG message208, or[32], $a3, $s6, $a1, 8, 16, test_words, test_words + THREE_REG message209, or[32], $s2, $s6, $t2, 0, 0, test_words, test_words + THREE_REG message210, or[32], $s0, $a1, $a6, 20, 28, test_words, test_words + THREE_REG message211, or[32], $t2, $t2, $s0, 28, 0, test_words, test_words + THREE_REG message212, or[32], $s4, $t0, $a4, 12, 0, test_words, test_words + THREE_REG message213, or[32], $t3, $s7, $s2, 8, 16, test_words, test_words + THREE_REG message214, or[32], $s7, $a5, $s2, 16, 12, test_words, test_words + THREE_REG message215, or[32], $s6, $t2, $t1, 0, 8, test_words, test_words + THREE_REG message216, or[32], $s1, $s5, $a7, 28, 24, test_words, test_words + THREE_REG message217, or[32], $a7, $t2, $t0, 28, 4, test_words, test_words + THREE_REG message218, or[32], $s4, $s3, $a2, 0, 12, test_words, test_words + THREE_REG message219, or[32], $s2, $a7, $a2, 16, 20, test_words, test_words + THREE_REG message220, or[32], $a6, $s7, $s6, 16, 0, test_words, test_words + +# xor[32] + THREE_REG message221, xor[32], $t1, $a2, $a2, 24, 12, test_words, test_words + THREE_REG message222, xor[32], $s1, $t0, $a4, 16, 12, test_words, test_words + THREE_REG message223, xor[32], $a2, $s7, $a5, 24, 12, test_words, test_words + THREE_REG message224, xor[32], $t3, $a2, $s6, 20, 8, test_words, test_words + THREE_REG message225, xor[32], $a1, $a3, $t2, 12, 0, test_words, test_words + THREE_REG message226, xor[32], $a7, $a1, $s3, 8, 4, test_words, test_words + THREE_REG message227, xor[32], $s7, $s3, $a4, 24, 8, test_words, test_words + THREE_REG message228, xor[32], $a3, $t3, $a6, 12, 28, test_words, test_words + THREE_REG message229, xor[32], $s5, $s1, $s7, 28, 12, test_words, test_words + THREE_REG message230, xor[32], $t2, $t2, $a1, 0, 12, test_words, test_words + THREE_REG message231, xor[32], $s3, $a6, $a6, 20, 4, test_words, test_words + THREE_REG message232, xor[32], $s2, $s1, $a3, 8, 12, test_words, test_words + THREE_REG message233, xor[32], $a4, $s1, $a2, 16, 12, test_words, test_words + THREE_REG message234, xor[32], $s4, $a3, $s2, 24, 24, test_words, test_words + THREE_REG message235, xor[32], $s2, $s4, $a3, 4, 28, test_words, test_words + THREE_REG message236, xor[32], $a2, $a3, $s5, 12, 28, test_words, test_words + THREE_REG message237, xor[32], $a4, $a7, $s5, 24, 0, test_words, test_words + THREE_REG message238, xor[32], $s7, $s5, $t1, 24, 28, test_words, test_words + THREE_REG message239, xor[32], $a0, $a6, $s0, 12, 12, test_words, test_words + THREE_REG message240, xor[32], $a0, $a7, $a2, 24, 8, test_words, test_words + THREE_REG message241, xor[32], $t1, $a0, $s2, 0, 20, test_words, test_words + THREE_REG message242, xor[32], $s5, $a3, $a0, 24, 8, test_words, test_words + THREE_REG message243, xor[32], $s0, $a2, $t1, 4, 16, test_words, test_words + THREE_REG message244, xor[32], $t2, $a0, $s1, 28, 24, test_words, test_words + THREE_REG message245, xor[32], $s0, $t0, $a1, 20, 28, test_words, test_words + THREE_REG message246, xor[32], $s0, $t1, $s2, 24, 12, test_words, test_words + THREE_REG message247, xor[32], $s0, $t3, $a0, 24, 16, test_words, test_words + THREE_REG message248, xor[32], $t1, $s7, $s7, 8, 20, test_words, test_words + THREE_REG message249, xor[32], $a5, $t2, $a7, 12, 28, test_words, test_words + THREE_REG message250, xor[32], $s4, $a5, $t0, 4, 0, test_words, test_words + THREE_REG message251, xor[32], $t2, $a2, $s0, 12, 28, test_words, test_words + THREE_REG message252, xor[32], $s3, $t3, $s0, 24, 8, test_words, test_words + THREE_REG message253, xor[32], $a7, $s6, $a5, 28, 4, test_words, test_words + THREE_REG message254, xor[32], $a5, $s1, $s4, 16, 28, test_words, test_words + THREE_REG message255, xor[32], $a6, $s2, $s1, 4, 20, test_words, test_words + THREE_REG message256, xor[32], $a4, $s1, $a2, 16, 12, test_words, test_words + THREE_REG message257, xor[32], $s6, $s3, $t1, 12, 24, test_words, test_words + THREE_REG message258, xor[32], $s0, $a6, $s6, 0, 16, test_words, test_words + THREE_REG message259, xor[32], $s0, $a7, $a7, 4, 28, test_words, test_words + THREE_REG message260, xor[32], $a4, $s3, $s0, 0, 28, test_words, test_words + +# and[16] + TWO_REG_16 message261, and[16], $a3, $s2, 4, 0, test_words, test_words + TWO_REG_16 message262, and[16], $a0, $s2, 16, 4, test_words, test_words + TWO_REG_16 message263, and[16], $s0, $a1, 16, 12, test_words, test_words + TWO_REG_16 message264, and[16], $s0, $a1, 24, 8, test_words, test_words + TWO_REG_16 message265, and[16], $s1, $s0, 16, 20, test_words, test_words + TWO_REG_16 message266, and[16], $a1, $a0, 20, 0, test_words, test_words + TWO_REG_16 message267, and[16], $a2, $s0, 0, 20, test_words, test_words + TWO_REG_16 message268, and[16], $a0, $a0, 16, 12, test_words, test_words + TWO_REG_16 message269, and[16], $s3, $s2, 12, 28, test_words, test_words + TWO_REG_16 message270, and[16], $s0, $s3, 0, 4, test_words, test_words + TWO_REG_16 message271, and[16], $a0, $s1, 16, 16, test_words, test_words + TWO_REG_16 message272, and[16], $s2, $a2, 28, 16, test_words, test_words + TWO_REG_16 message273, and[16], $s2, $a3, 4, 28, test_words, test_words + TWO_REG_16 message274, and[16], $s0, $s2, 28, 24, test_words, test_words + TWO_REG_16 message275, and[16], $a2, $s3, 12, 8, test_words, test_words + TWO_REG_16 message276, and[16], $a0, $s3, 20, 28, test_words, test_words + TWO_REG_16 message277, and[16], $s1, $a0, 24, 8, test_words, test_words + TWO_REG_16 message278, and[16], $a0, $s2, 12, 0, test_words, test_words + TWO_REG_16 message279, and[16], $a3, $s3, 20, 8, test_words, test_words + TWO_REG_16 message280, and[16], $a1, $s0, 24, 28, test_words, test_words + +# or[16] + TWO_REG_16 message281, or[16], $s3, $s3, 28, 12, test_words, test_words + TWO_REG_16 message282, or[16], $s2, $s2, 4, 0, test_words, test_words + TWO_REG_16 message283, or[16], $s2, $s0, 12, 24, test_words, test_words + TWO_REG_16 message284, or[16], $s0, $a0, 20, 4, test_words, test_words + TWO_REG_16 message285, or[16], $a1, $a3, 12, 4, test_words, test_words + TWO_REG_16 message286, or[16], $a1, $s2, 4, 20, test_words, test_words + TWO_REG_16 message287, or[16], $s1, $s2, 28, 24, test_words, test_words + TWO_REG_16 message288, or[16], $a2, $s1, 24, 8, test_words, test_words + TWO_REG_16 message289, or[16], $s0, $s1, 20, 8, test_words, test_words + TWO_REG_16 message290, or[16], $a3, $s3, 12, 4, test_words, test_words + TWO_REG_16 message291, or[16], $a3, $s2, 28, 28, test_words, test_words + TWO_REG_16 message292, or[16], $s2, $s0, 4, 28, test_words, test_words + TWO_REG_16 message293, or[16], $s3, $s0, 0, 4, test_words, test_words + TWO_REG_16 message294, or[16], $a3, $a2, 24, 0, test_words, test_words + TWO_REG_16 message295, or[16], $a0, $s1, 28, 12, test_words, test_words + TWO_REG_16 message296, or[16], $a2, $s1, 20, 24, test_words, test_words + TWO_REG_16 message297, or[16], $a2, $a2, 4, 20, test_words, test_words + TWO_REG_16 message298, or[16], $a1, $s0, 28, 20, test_words, test_words + TWO_REG_16 message299, or[16], $a2, $s2, 16, 0, test_words, test_words + TWO_REG_16 message300, or[16], $a3, $s1, 0, 8, test_words, test_words + +# xor[16] + TWO_REG_16 message301, xor[16], $a2, $a0, 12, 20, test_words, test_words + TWO_REG_16 message302, xor[16], $a2, $a1, 20, 12, test_words, test_words + TWO_REG_16 message303, xor[16], $s2, $s0, 24, 0, test_words, test_words + TWO_REG_16 message304, xor[16], $a1, $a3, 28, 12, test_words, test_words + TWO_REG_16 message305, xor[16], $s1, $a0, 4, 28, test_words, test_words + TWO_REG_16 message306, xor[16], $s0, $a0, 16, 24, test_words, test_words + TWO_REG_16 message307, xor[16], $s2, $a0, 24, 4, test_words, test_words + TWO_REG_16 message308, xor[16], $s2, $s2, 16, 0, test_words, test_words + TWO_REG_16 message309, xor[16], $s3, $s3, 20, 4, test_words, test_words + TWO_REG_16 message310, xor[16], $a1, $a2, 16, 28, test_words, test_words + TWO_REG_16 message311, xor[16], $s3, $a2, 0, 0, test_words, test_words + TWO_REG_16 message312, xor[16], $s1, $s3, 16, 12, test_words, test_words + TWO_REG_16 message313, xor[16], $s3, $s1, 8, 12, test_words, test_words + TWO_REG_16 message314, xor[16], $s1, $s2, 4, 12, test_words, test_words + TWO_REG_16 message315, xor[16], $s2, $s3, 20, 16, test_words, test_words + TWO_REG_16 message316, xor[16], $s2, $a1, 16, 20, test_words, test_words + TWO_REG_16 message317, xor[16], $a0, $a1, 24, 4, test_words, test_words + TWO_REG_16 message318, xor[16], $s0, $a3, 4, 12, test_words, test_words + TWO_REG_16 message319, xor[16], $s1, $a1, 12, 12, test_words, test_words + TWO_REG_16 message320, xor[16], $a0, $s3, 24, 28, test_words, test_words + +# rotrv + THREE_REG message321, rotrv, $a4, $s4, $a2, 4, 24, test_words, test_shifts + THREE_REG message322, rotrv, $s3, $s1, $a4, 8, 8, test_words, test_shifts + THREE_REG message323, rotrv, $t1, $s0, $s7, 20, 20, test_words, test_shifts + THREE_REG message324, rotrv, $a7, $s7, $t0, 20, 12, test_words, test_shifts + THREE_REG message325, rotrv, $s7, $a6, $a6, 16, 28, test_words, test_shifts + THREE_REG message326, rotrv, $a5, $a3, $s7, 4, 20, test_words, test_shifts + THREE_REG message327, rotrv, $s2, $s5, $s5, 0, 28, test_words, test_shifts + THREE_REG message328, rotrv, $a7, $s7, $t0, 0, 20, test_words, test_shifts + THREE_REG message329, rotrv, $t2, $a1, $a6, 4, 24, test_words, test_shifts + THREE_REG message330, rotrv, $s3, $a0, $s5, 28, 4, test_words, test_shifts + THREE_REG message331, rotrv, $a4, $a6, $s3, 24, 12, test_words, test_shifts + THREE_REG message332, rotrv, $a2, $s0, $t2, 20, 4, test_words, test_shifts + THREE_REG message333, rotrv, $s0, $t3, $t2, 20, 12, test_words, test_shifts + THREE_REG message334, rotrv, $t1, $a1, $t2, 4, 4, test_words, test_shifts + THREE_REG message335, rotrv, $t0, $s3, $t2, 8, 0, test_words, test_shifts + THREE_REG message336, rotrv, $a4, $a5, $t1, 24, 20, test_words, test_shifts + THREE_REG message337, rotrv, $s2, $s6, $a3, 24, 20, test_words, test_shifts + THREE_REG message338, rotrv, $t2, $s0, $a5, 4, 8, test_words, test_shifts + THREE_REG message339, rotrv, $a2, $t1, $t1, 16, 24, test_words, test_shifts + THREE_REG message340, rotrv, $a1, $s2, $a3, 28, 12, test_words, test_shifts + THREE_REG message341, rotrv, $a0, $a7, $t3, 8, 20, test_words, test_shifts + THREE_REG message342, rotrv, $a3, $s7, $a7, 0, 4, test_words, test_shifts + THREE_REG message343, rotrv, $s4, $s7, $t3, 12, 20, test_words, test_shifts + THREE_REG message344, rotrv, $t0, $a6, $s1, 4, 12, test_words, test_shifts + THREE_REG message345, rotrv, $a7, $s7, $a0, 4, 16, test_words, test_shifts + THREE_REG message346, rotrv, $a2, $s2, $t2, 8, 4, test_words, test_shifts + THREE_REG message347, rotrv, $a5, $a6, $a1, 16, 20, test_words, test_shifts + THREE_REG message348, rotrv, $a2, $a0, $s4, 20, 0, test_words, test_shifts + THREE_REG message349, rotrv, $t1, $s5, $a7, 0, 4, test_words, test_shifts + THREE_REG message350, rotrv, $s0, $t1, $t3, 24, 24, test_words, test_shifts + THREE_REG message351, rotrv, $s6, $t1, $a6, 8, 8, test_words, test_shifts + THREE_REG message352, rotrv, $a6, $s0, $s0, 0, 24, test_words, test_shifts + THREE_REG message353, rotrv, $a2, $a1, $a1, 12, 24, test_words, test_shifts + THREE_REG message354, rotrv, $t2, $s1, $a6, 24, 12, test_words, test_shifts + THREE_REG message355, rotrv, $s2, $t3, $a4, 24, 28, test_words, test_shifts + THREE_REG message356, rotrv, $t1, $t2, $a4, 16, 0, test_words, test_shifts + THREE_REG message357, rotrv, $s7, $a2, $t2, 4, 16, test_words, test_shifts + THREE_REG message358, rotrv, $t0, $t3, $t1, 4, 12, test_words, test_shifts + THREE_REG message359, rotrv, $a3, $t3, $s0, 0, 8, test_words, test_shifts + THREE_REG message360, rotrv, $s6, $a2, $s7, 0, 16, test_words, test_shifts + +# sllv + THREE_REG message361, sllv, $a6, $a3, $a3, 12, 20, test_words, test_shifts + THREE_REG message362, sllv, $a3, $s4, $a3, 28, 4, test_words, test_shifts + THREE_REG message363, sllv, $a4, $s6, $s7, 8, 12, test_words, test_shifts + THREE_REG message364, sllv, $a4, $a2, $t2, 4, 28, test_words, test_shifts + THREE_REG message365, sllv, $a5, $t0, $t2, 24, 4, test_words, test_shifts + THREE_REG message366, sllv, $t0, $a0, $s7, 0, 4, test_words, test_shifts + THREE_REG message367, sllv, $s4, $t2, $s0, 28, 20, test_words, test_shifts + THREE_REG message368, sllv, $s5, $t2, $a6, 16, 8, test_words, test_shifts + THREE_REG message369, sllv, $t3, $a4, $s4, 24, 24, test_words, test_shifts + THREE_REG message370, sllv, $a4, $t2, $s5, 24, 28, test_words, test_shifts + THREE_REG message371, sllv, $s4, $a0, $s0, 12, 24, test_words, test_shifts + THREE_REG message372, sllv, $a1, $t3, $s6, 0, 12, test_words, test_shifts + THREE_REG message373, sllv, $t3, $a0, $a2, 28, 16, test_words, test_shifts + THREE_REG message374, sllv, $s7, $a0, $a6, 20, 4, test_words, test_shifts + THREE_REG message375, sllv, $t0, $s4, $a5, 20, 28, test_words, test_shifts + THREE_REG message376, sllv, $a4, $a5, $a5, 4, 12, test_words, test_shifts + THREE_REG message377, sllv, $s1, $a1, $t3, 20, 0, test_words, test_shifts + THREE_REG message378, sllv, $a5, $a2, $a4, 0, 24, test_words, test_shifts + THREE_REG message379, sllv, $a7, $s3, $s3, 20, 28, test_words, test_shifts + THREE_REG message380, sllv, $s3, $t1, $s3, 20, 24, test_words, test_shifts + THREE_REG message381, sllv, $s4, $a6, $s7, 8, 12, test_words, test_shifts + THREE_REG message382, sllv, $a2, $s6, $a4, 12, 28, test_words, test_shifts + THREE_REG message383, sllv, $a3, $s0, $a4, 28, 20, test_words, test_shifts + THREE_REG message384, sllv, $a1, $a0, $s3, 4, 0, test_words, test_shifts + THREE_REG message385, sllv, $s6, $a4, $a4, 20, 24, test_words, test_shifts + THREE_REG message386, sllv, $s7, $s0, $s7, 8, 4, test_words, test_shifts + THREE_REG message387, sllv, $a5, $s3, $a3, 16, 4, test_words, test_shifts + THREE_REG message388, sllv, $a2, $s6, $a7, 8, 24, test_words, test_shifts + THREE_REG message389, sllv, $a2, $a2, $s6, 8, 20, test_words, test_shifts + THREE_REG message390, sllv, $t0, $t3, $t1, 28, 0, test_words, test_shifts + THREE_REG message391, sllv, $s2, $s5, $a1, 24, 24, test_words, test_shifts + THREE_REG message392, sllv, $t3, $a1, $s2, 24, 28, test_words, test_shifts + THREE_REG message393, sllv, $s0, $t3, $a2, 12, 0, test_words, test_shifts + THREE_REG message394, sllv, $s7, $t2, $a6, 24, 0, test_words, test_shifts + THREE_REG message395, sllv, $s4, $t0, $s2, 28, 28, test_words, test_shifts + THREE_REG message396, sllv, $t3, $a3, $s6, 4, 8, test_words, test_shifts + THREE_REG message397, sllv, $s3, $s3, $s0, 0, 20, test_words, test_shifts + THREE_REG message398, sllv, $s2, $s3, $s2, 20, 20, test_words, test_shifts + THREE_REG message399, sllv, $a1, $a1, $t0, 0, 16, test_words, test_shifts + THREE_REG message400, sllv, $a0, $s3, $s6, 12, 24, test_words, test_shifts + +# srav + THREE_REG message401, srav, $s3, $s3, $a2, 4, 8, test_words, test_shifts + THREE_REG message402, srav, $t1, $s5, $a5, 0, 24, test_words, test_shifts + THREE_REG message403, srav, $a0, $a3, $s5, 16, 28, test_words, test_shifts + THREE_REG message404, srav, $a2, $s2, $s2, 16, 12, test_words, test_shifts + THREE_REG message405, srav, $a7, $s5, $s4, 12, 20, test_words, test_shifts + THREE_REG message406, srav, $s1, $t0, $a1, 12, 28, test_words, test_shifts + THREE_REG message407, srav, $a7, $s6, $t2, 20, 0, test_words, test_shifts + THREE_REG message408, srav, $a1, $s3, $s5, 8, 28, test_words, test_shifts + THREE_REG message409, srav, $s7, $t2, $s2, 0, 24, test_words, test_shifts + THREE_REG message410, srav, $t1, $a2, $a1, 12, 24, test_words, test_shifts + THREE_REG message411, srav, $s4, $a6, $a7, 20, 4, test_words, test_shifts + THREE_REG message412, srav, $t1, $a6, $t1, 24, 4, test_words, test_shifts + THREE_REG message413, srav, $s4, $s1, $t0, 28, 24, test_words, test_shifts + THREE_REG message414, srav, $t0, $a4, $s5, 20, 24, test_words, test_shifts + THREE_REG message415, srav, $s0, $t0, $s5, 8, 0, test_words, test_shifts + THREE_REG message416, srav, $a3, $s7, $s2, 16, 8, test_words, test_shifts + THREE_REG message417, srav, $a4, $s1, $s4, 12, 8, test_words, test_shifts + THREE_REG message418, srav, $a2, $s4, $a4, 28, 8, test_words, test_shifts + THREE_REG message419, srav, $s5, $t0, $s3, 4, 12, test_words, test_shifts + THREE_REG message420, srav, $a2, $t1, $s7, 28, 24, test_words, test_shifts + THREE_REG message421, srav, $s1, $t0, $s6, 24, 24, test_words, test_shifts + THREE_REG message422, srav, $a2, $s2, $a2, 0, 8, test_words, test_shifts + THREE_REG message423, srav, $s0, $s0, $a7, 4, 16, test_words, test_shifts + THREE_REG message424, srav, $a5, $s7, $a4, 4, 8, test_words, test_shifts + THREE_REG message425, srav, $t3, $s7, $a2, 24, 16, test_words, test_shifts + THREE_REG message426, srav, $s5, $a4, $a6, 0, 0, test_words, test_shifts + THREE_REG message427, srav, $a4, $t2, $s0, 12, 16, test_words, test_shifts + THREE_REG message428, srav, $s6, $s5, $s6, 0, 8, test_words, test_shifts + THREE_REG message429, srav, $a1, $t1, $a6, 16, 8, test_words, test_shifts + THREE_REG message430, srav, $s2, $a6, $a5, 28, 28, test_words, test_shifts + THREE_REG message431, srav, $s3, $a6, $a2, 24, 0, test_words, test_shifts + THREE_REG message432, srav, $s3, $t3, $s5, 20, 0, test_words, test_shifts + THREE_REG message433, srav, $a5, $a1, $t2, 20, 16, test_words, test_shifts + THREE_REG message434, srav, $s6, $s3, $t2, 20, 0, test_words, test_shifts + THREE_REG message435, srav, $s0, $a2, $t1, 8, 24, test_words, test_shifts + THREE_REG message436, srav, $a7, $a5, $a0, 0, 0, test_words, test_shifts + THREE_REG message437, srav, $t0, $s7, $s2, 24, 20, test_words, test_shifts + THREE_REG message438, srav, $t2, $a1, $s5, 12, 8, test_words, test_shifts + THREE_REG message439, srav, $s5, $s0, $s4, 12, 4, test_words, test_shifts + THREE_REG message440, srav, $t0, $t1, $a5, 24, 8, test_words, test_shifts + +# srlv + THREE_REG message441, srlv, $a5, $s6, $s4, 8, 4, test_words, test_shifts + THREE_REG message442, srlv, $a7, $a1, $a6, 28, 20, test_words, test_shifts + THREE_REG message443, srlv, $s2, $s7, $a0, 16, 8, test_words, test_shifts + THREE_REG message444, srlv, $s6, $s2, $a7, 28, 8, test_words, test_shifts + THREE_REG message445, srlv, $a6, $a4, $s2, 24, 28, test_words, test_shifts + THREE_REG message446, srlv, $a4, $a6, $s0, 4, 20, test_words, test_shifts + THREE_REG message447, srlv, $a7, $t2, $a7, 12, 16, test_words, test_shifts + THREE_REG message448, srlv, $s0, $t2, $s5, 24, 24, test_words, test_shifts + THREE_REG message449, srlv, $a6, $t0, $a1, 8, 16, test_words, test_shifts + THREE_REG message450, srlv, $a7, $s4, $t3, 12, 12, test_words, test_shifts + THREE_REG message451, srlv, $s5, $a5, $a7, 12, 12, test_words, test_shifts + THREE_REG message452, srlv, $a6, $t3, $s5, 12, 16, test_words, test_shifts + THREE_REG message453, srlv, $t2, $s6, $t2, 8, 20, test_words, test_shifts + THREE_REG message454, srlv, $s2, $a6, $a4, 12, 20, test_words, test_shifts + THREE_REG message455, srlv, $a2, $s5, $a1, 12, 16, test_words, test_shifts + THREE_REG message456, srlv, $a2, $a3, $t0, 20, 8, test_words, test_shifts + THREE_REG message457, srlv, $a0, $a6, $s7, 12, 20, test_words, test_shifts + THREE_REG message458, srlv, $a2, $t2, $a1, 12, 20, test_words, test_shifts + THREE_REG message459, srlv, $s5, $s6, $s3, 16, 16, test_words, test_shifts + THREE_REG message460, srlv, $t0, $a6, $s2, 0, 8, test_words, test_shifts + THREE_REG message461, srlv, $s7, $a6, $s7, 20, 24, test_words, test_shifts + THREE_REG message462, srlv, $t3, $a3, $a5, 0, 16, test_words, test_shifts + THREE_REG message463, srlv, $a7, $s0, $s6, 24, 28, test_words, test_shifts + THREE_REG message464, srlv, $a7, $t0, $t1, 16, 12, test_words, test_shifts + THREE_REG message465, srlv, $s6, $s6, $t1, 20, 24, test_words, test_shifts + THREE_REG message466, srlv, $s1, $s6, $s0, 16, 8, test_words, test_shifts + THREE_REG message467, srlv, $s2, $a7, $a5, 8, 0, test_words, test_shifts + THREE_REG message468, srlv, $a7, $t1, $t3, 0, 4, test_words, test_shifts + THREE_REG message469, srlv, $s7, $s3, $a5, 4, 20, test_words, test_shifts + THREE_REG message470, srlv, $a5, $s1, $a1, 24, 4, test_words, test_shifts + THREE_REG message471, srlv, $a4, $a1, $s7, 24, 8, test_words, test_shifts + THREE_REG message472, srlv, $a5, $a3, $s4, 24, 12, test_words, test_shifts + THREE_REG message473, srlv, $s3, $t0, $a3, 16, 24, test_words, test_shifts + THREE_REG message474, srlv, $t3, $s7, $t0, 28, 28, test_words, test_shifts + THREE_REG message475, srlv, $a1, $a6, $a2, 28, 16, test_words, test_shifts + THREE_REG message476, srlv, $t3, $t0, $s1, 0, 8, test_words, test_shifts + THREE_REG message477, srlv, $s2, $t0, $s3, 24, 24, test_words, test_shifts + THREE_REG message478, srlv, $s2, $s7, $s6, 24, 20, test_words, test_shifts + THREE_REG message479, srlv, $s1, $s5, $t2, 0, 4, test_words, test_shifts + THREE_REG message480, srlv, $t0, $a4, $s0, 0, 28, test_words, test_shifts + +# andi[32] + TWO_REG_1_IMM message481, andi[32], $t3, $a6, 4, test_words, 45 + TWO_REG_1_IMM message482, andi[32], $a5, $a1, 0, test_words, 1133 + TWO_REG_1_IMM message483, andi[32], $a2, $a4, 28, test_words, 2489 + TWO_REG_1_IMM message484, andi[32], $s5, $a7, 28, test_words, 1327 + TWO_REG_1_IMM message485, andi[32], $t1, $t2, 20, test_words, 2223 + TWO_REG_1_IMM message486, andi[32], $a0, $s3, 20, test_words, 254 + TWO_REG_1_IMM message487, andi[32], $s7, $t2, 24, test_words, 591 + TWO_REG_1_IMM message488, andi[32], $t3, $s3, 24, test_words, 2590 + TWO_REG_1_IMM message489, andi[32], $t1, $s0, 16, test_words, 1498 + TWO_REG_1_IMM message490, andi[32], $s1, $s0, 28, test_words, 3900 + TWO_REG_1_IMM message491, andi[32], $a5, $t2, 20, test_words, 3646 + TWO_REG_1_IMM message492, andi[32], $t1, $s4, 20, test_words, 2454 + TWO_REG_1_IMM message493, andi[32], $a2, $a3, 24, test_words, 3134 + TWO_REG_1_IMM message494, andi[32], $a6, $a3, 16, test_words, 393 + TWO_REG_1_IMM message495, andi[32], $a1, $a3, 4, test_words, 3832 + TWO_REG_1_IMM message496, andi[32], $s6, $a7, 28, test_words, 787 + TWO_REG_1_IMM message497, andi[32], $s7, $t3, 20, test_words, 2541 + TWO_REG_1_IMM message498, andi[32], $a7, $s4, 4, test_words, 36 + TWO_REG_1_IMM message499, andi[32], $s2, $a2, 8, test_words, 2432 + TWO_REG_1_IMM message500, andi[32], $a6, $a0, 24, test_words, 1532 + TWO_REG_1_IMM message501, andi[32], $a3, $s4, 12, test_words, 1413 + TWO_REG_1_IMM message502, andi[32], $s7, $t3, 24, test_words, 2169 + TWO_REG_1_IMM message503, andi[32], $a2, $s7, 4, test_words, 260 + TWO_REG_1_IMM message504, andi[32], $s7, $a4, 28, test_words, 3694 + TWO_REG_1_IMM message505, andi[32], $a3, $t0, 12, test_words, 3019 + TWO_REG_1_IMM message506, andi[32], $s0, $s4, 28, test_words, 1739 + TWO_REG_1_IMM message507, andi[32], $s6, $s6, 12, test_words, 1092 + TWO_REG_1_IMM message508, andi[32], $s6, $a5, 4, test_words, 2781 + TWO_REG_1_IMM message509, andi[32], $t2, $t0, 8, test_words, 2309 + TWO_REG_1_IMM message510, andi[32], $s7, $a4, 24, test_words, 3094 + +# andi[16] + TWO_REG_1_IMM message511, andi[16], $a0, $a0, 8, test_words, 7 + TWO_REG_1_IMM message512, andi[16], $a0, $a2, 20, test_words, 4 + TWO_REG_1_IMM message513, andi[16], $s2, $a1, 28, test_words, 15 + TWO_REG_1_IMM message514, andi[16], $s1, $s2, 8, test_words, 8 + TWO_REG_1_IMM message515, andi[16], $a0, $s1, 16, test_words, 2 + TWO_REG_1_IMM message516, andi[16], $s2, $s1, 28, test_words, 4 + TWO_REG_1_IMM message517, andi[16], $a1, $a1, 8, test_words, 65535 + TWO_REG_1_IMM message518, andi[16], $a2, $a0, 12, test_words, 10 + TWO_REG_1_IMM message519, andi[16], $a0, $s1, 4, test_words, 1 + TWO_REG_1_IMM message520, andi[16], $s3, $s2, 20, test_words, 6 + TWO_REG_1_IMM message521, andi[16], $s3, $s0, 20, test_words, 65535 + TWO_REG_1_IMM message522, andi[16], $a2, $s3, 20, test_words, 3 + TWO_REG_1_IMM message523, andi[16], $s0, $a1, 20, test_words, 10 + TWO_REG_1_IMM message524, andi[16], $s3, $s1, 28, test_words, 8 + TWO_REG_1_IMM message525, andi[16], $s2, $a1, 20, test_words, 8 + TWO_REG_1_IMM message526, andi[16], $a1, $a0, 8, test_words, 10 + TWO_REG_1_IMM message527, andi[16], $s2, $a3, 12, test_words, 5 + TWO_REG_1_IMM message528, andi[16], $a2, $a0, 12, test_words, 1 + TWO_REG_1_IMM message529, andi[16], $s0, $a0, 24, test_words, 6 + TWO_REG_1_IMM message530, andi[16], $s3, $a3, 4, test_words, 3 + TWO_REG_1_IMM message531, andi[16], $s1, $s3, 24, test_words, 4 + TWO_REG_1_IMM message532, andi[16], $s0, $s1, 16, test_words, 10 + TWO_REG_1_IMM message533, andi[16], $s2, $a2, 12, test_words, 7 + TWO_REG_1_IMM message534, andi[16], $a2, $s1, 4, test_words, 0 + TWO_REG_1_IMM message535, andi[16], $a1, $s0, 24, test_words, 3 + TWO_REG_1_IMM message536, andi[16], $s0, $a1, 16, test_words, 0 + TWO_REG_1_IMM message537, andi[16], $a2, $a3, 28, test_words, 1 + TWO_REG_1_IMM message538, andi[16], $s2, $a0, 20, test_words, 11 + TWO_REG_1_IMM message539, andi[16], $s3, $a3, 28, test_words, 3 + TWO_REG_1_IMM message540, andi[16], $a0, $s0, 24, test_words, 6 + +# ori + TWO_REG_1_IMM message541, ori, $a6, $a1, 20, test_words, 1320 + TWO_REG_1_IMM message542, ori, $a2, $s3, 4, test_words, 1295 + TWO_REG_1_IMM message543, ori, $s3, $s3, 8, test_words, 3112 + TWO_REG_1_IMM message544, ori, $s4, $t3, 0, test_words, 658 + TWO_REG_1_IMM message545, ori, $s2, $s7, 16, test_words, 1024 + TWO_REG_1_IMM message546, ori, $a0, $s1, 16, test_words, 943 + TWO_REG_1_IMM message547, ori, $a4, $a7, 12, test_words, 3004 + TWO_REG_1_IMM message548, ori, $s3, $a5, 8, test_words, 2213 + TWO_REG_1_IMM message549, ori, $a6, $t3, 24, test_words, 3480 + TWO_REG_1_IMM message550, ori, $a2, $s3, 0, test_words, 3354 + TWO_REG_1_IMM message551, ori, $s6, $s6, 8, test_words, 1430 + TWO_REG_1_IMM message552, ori, $s5, $a6, 4, test_words, 3179 + TWO_REG_1_IMM message553, ori, $s6, $a1, 16, test_words, 2250 + TWO_REG_1_IMM message554, ori, $s2, $a0, 4, test_words, 2 + TWO_REG_1_IMM message555, ori, $a7, $a0, 24, test_words, 331 + TWO_REG_1_IMM message556, ori, $a5, $s4, 0, test_words, 303 + TWO_REG_1_IMM message557, ori, $s3, $a2, 0, test_words, 2126 + TWO_REG_1_IMM message558, ori, $a5, $s4, 0, test_words, 859 + TWO_REG_1_IMM message559, ori, $a6, $a6, 8, test_words, 2076 + TWO_REG_1_IMM message560, ori, $a4, $t3, 28, test_words, 3182 + TWO_REG_1_IMM message561, ori, $a0, $t3, 0, test_words, 1870 + TWO_REG_1_IMM message562, ori, $s3, $a6, 0, test_words, 1359 + TWO_REG_1_IMM message563, ori, $a6, $a2, 8, test_words, 2940 + TWO_REG_1_IMM message564, ori, $s6, $a2, 12, test_words, 3341 + TWO_REG_1_IMM message565, ori, $t1, $s3, 12, test_words, 2238 + TWO_REG_1_IMM message566, ori, $a3, $a7, 8, test_words, 654 + TWO_REG_1_IMM message567, ori, $s5, $t0, 8, test_words, 1250 + TWO_REG_1_IMM message568, ori, $a7, $t1, 0, test_words, 3231 + TWO_REG_1_IMM message569, ori, $t1, $s5, 20, test_words, 2400 + TWO_REG_1_IMM message570, ori, $t3, $a1, 28, test_words, 2537 + +# xori + TWO_REG_1_IMM message571, xori, $a3, $s5, 20, test_words, 3161 + TWO_REG_1_IMM message572, xori, $t0, $s1, 24, test_words, 3613 + TWO_REG_1_IMM message573, xori, $s4, $s2, 12, test_words, 2664 + TWO_REG_1_IMM message574, xori, $t1, $s5, 24, test_words, 755 + TWO_REG_1_IMM message575, xori, $a1, $s0, 20, test_words, 3624 + TWO_REG_1_IMM message576, xori, $a5, $a1, 28, test_words, 2806 + TWO_REG_1_IMM message577, xori, $s6, $a4, 28, test_words, 2025 + TWO_REG_1_IMM message578, xori, $a5, $s6, 12, test_words, 2108 + TWO_REG_1_IMM message579, xori, $s0, $a4, 20, test_words, 3620 + TWO_REG_1_IMM message580, xori, $s5, $a4, 4, test_words, 1742 + TWO_REG_1_IMM message581, xori, $s6, $a0, 24, test_words, 1603 + TWO_REG_1_IMM message582, xori, $a6, $s0, 24, test_words, 3603 + TWO_REG_1_IMM message583, xori, $t0, $s3, 16, test_words, 3229 + TWO_REG_1_IMM message584, xori, $a5, $a3, 16, test_words, 2527 + TWO_REG_1_IMM message585, xori, $s0, $s7, 4, test_words, 4009 + TWO_REG_1_IMM message586, xori, $a1, $s0, 24, test_words, 1857 + TWO_REG_1_IMM message587, xori, $s4, $s7, 20, test_words, 1054 + TWO_REG_1_IMM message588, xori, $t3, $t2, 16, test_words, 1845 + TWO_REG_1_IMM message589, xori, $s3, $a2, 4, test_words, 2773 + TWO_REG_1_IMM message590, xori, $s2, $t3, 0, test_words, 26 + TWO_REG_1_IMM message591, xori, $s3, $s0, 28, test_words, 492 + TWO_REG_1_IMM message592, xori, $s4, $a3, 12, test_words, 480 + TWO_REG_1_IMM message593, xori, $t2, $a4, 4, test_words, 3880 + TWO_REG_1_IMM message594, xori, $s4, $s7, 4, test_words, 3077 + TWO_REG_1_IMM message595, xori, $s3, $t3, 12, test_words, 98 + TWO_REG_1_IMM message596, xori, $s1, $s3, 0, test_words, 568 + TWO_REG_1_IMM message597, xori, $s5, $a1, 20, test_words, 383 + TWO_REG_1_IMM message598, xori, $a0, $t2, 4, test_words, 891 + TWO_REG_1_IMM message599, xori, $t2, $t0, 28, test_words, 1858 + TWO_REG_1_IMM message600, xori, $a0, $t3, 8, test_words, 722 + +# rotr + TWO_REG_1_IMM message601, rotr, $s7, $a4, 8, test_words, 24 + TWO_REG_1_IMM message602, rotr, $s3, $a4, 20, test_words, 6 + TWO_REG_1_IMM message603, rotr, $s7, $s4, 4, test_words, 8 + TWO_REG_1_IMM message604, rotr, $s7, $t1, 4, test_words, 0 + TWO_REG_1_IMM message605, rotr, $t2, $t2, 28, test_words, 18 + TWO_REG_1_IMM message606, rotr, $s0, $a0, 24, test_words, 31 + TWO_REG_1_IMM message607, rotr, $t0, $t1, 4, test_words, 4 + TWO_REG_1_IMM message608, rotr, $s0, $s0, 28, test_words, 16 + TWO_REG_1_IMM message609, rotr, $a4, $a1, 0, test_words, 11 + TWO_REG_1_IMM message610, rotr, $a5, $a1, 8, test_words, 8 + TWO_REG_1_IMM message611, rotr, $s5, $a7, 4, test_words, 20 + TWO_REG_1_IMM message612, rotr, $a4, $a6, 16, test_words, 14 + TWO_REG_1_IMM message613, rotr, $t0, $a7, 0, test_words, 5 + TWO_REG_1_IMM message614, rotr, $a7, $s2, 16, test_words, 19 + TWO_REG_1_IMM message615, rotr, $s0, $t1, 0, test_words, 12 + TWO_REG_1_IMM message616, rotr, $t1, $a3, 16, test_words, 25 + TWO_REG_1_IMM message617, rotr, $a4, $a4, 20, test_words, 22 + TWO_REG_1_IMM message618, rotr, $a5, $s3, 24, test_words, 14 + TWO_REG_1_IMM message619, rotr, $t2, $t3, 8, test_words, 14 + TWO_REG_1_IMM message620, rotr, $a5, $a2, 16, test_words, 2 + TWO_REG_1_IMM message621, rotr, $s1, $t0, 28, test_words, 20 + TWO_REG_1_IMM message622, rotr, $a7, $s7, 0, test_words, 15 + TWO_REG_1_IMM message623, rotr, $a4, $t0, 12, test_words, 26 + TWO_REG_1_IMM message624, rotr, $s3, $s0, 12, test_words, 15 + TWO_REG_1_IMM message625, rotr, $a4, $s0, 20, test_words, 6 + TWO_REG_1_IMM message626, rotr, $t3, $a0, 16, test_words, 1 + TWO_REG_1_IMM message627, rotr, $t3, $a7, 28, test_words, 21 + TWO_REG_1_IMM message628, rotr, $s1, $s7, 28, test_words, 23 + TWO_REG_1_IMM message629, rotr, $s4, $s2, 12, test_words, 19 + TWO_REG_1_IMM message630, rotr, $a5, $a3, 8, test_words, 25 + +# sll + TWO_REG_1_IMM message631, sll, $s3, $t1, 12, test_words, 2 + TWO_REG_1_IMM message632, sll, $t1, $a3, 8, test_words, 18 + TWO_REG_1_IMM message633, sll, $s3, $a7, 0, test_words, 15 + TWO_REG_1_IMM message634, sll, $a7, $a0, 0, test_words, 15 + TWO_REG_1_IMM message635, sll, $t3, $a0, 16, test_words, 17 + TWO_REG_1_IMM message636, sll, $s7, $a7, 0, test_words, 19 + TWO_REG_1_IMM message637, sll, $s1, $s3, 24, test_words, 2 + TWO_REG_1_IMM message638, sll, $a7, $a4, 12, test_words, 26 + TWO_REG_1_IMM message639, sll, $a2, $a3, 20, test_words, 27 + TWO_REG_1_IMM message640, sll, $a6, $s3, 20, test_words, 21 + TWO_REG_1_IMM message641, sll, $t2, $a1, 16, test_words, 2 + TWO_REG_1_IMM message642, sll, $s6, $t1, 4, test_words, 21 + TWO_REG_1_IMM message643, sll, $t1, $t1, 24, test_words, 0 + TWO_REG_1_IMM message644, sll, $t0, $a6, 16, test_words, 9 + TWO_REG_1_IMM message645, sll, $s2, $t2, 12, test_words, 9 + TWO_REG_1_IMM message646, sll, $a3, $s2, 12, test_words, 9 + TWO_REG_1_IMM message647, sll, $s5, $t0, 16, test_words, 11 + TWO_REG_1_IMM message648, sll, $t3, $a2, 4, test_words, 22 + TWO_REG_1_IMM message649, sll, $a3, $a5, 0, test_words, 9 + TWO_REG_1_IMM message650, sll, $a2, $t1, 28, test_words, 15 + TWO_REG_1_IMM message651, sll, $a6, $a5, 0, test_words, 14 + TWO_REG_1_IMM message652, sll, $a4, $s4, 28, test_words, 22 + TWO_REG_1_IMM message653, sll, $s2, $a2, 28, test_words, 1 + TWO_REG_1_IMM message654, sll, $s4, $t2, 8, test_words, 30 + TWO_REG_1_IMM message655, sll, $a7, $t3, 4, test_words, 18 + TWO_REG_1_IMM message656, sll, $a1, $a2, 0, test_words, 24 + TWO_REG_1_IMM message657, sll, $a0, $a4, 8, test_words, 10 + TWO_REG_1_IMM message658, sll, $s5, $t1, 8, test_words, 7 + TWO_REG_1_IMM message659, sll, $s6, $a2, 20, test_words, 26 + TWO_REG_1_IMM message660, sll, $a6, $s4, 0, test_words, 12 + +# sra + TWO_REG_1_IMM message661, sra, $s6, $a7, 24, test_words, 23 + TWO_REG_1_IMM message662, sra, $t2, $a4, 20, test_words, 21 + TWO_REG_1_IMM message663, sra, $a3, $a6, 28, test_words, 8 + TWO_REG_1_IMM message664, sra, $a1, $a0, 4, test_words, 25 + TWO_REG_1_IMM message665, sra, $t0, $a7, 12, test_words, 26 + TWO_REG_1_IMM message666, sra, $t0, $s5, 4, test_words, 10 + TWO_REG_1_IMM message667, sra, $a7, $s7, 20, test_words, 21 + TWO_REG_1_IMM message668, sra, $t3, $a5, 8, test_words, 18 + TWO_REG_1_IMM message669, sra, $s5, $a4, 4, test_words, 23 + TWO_REG_1_IMM message670, sra, $a0, $s2, 16, test_words, 16 + TWO_REG_1_IMM message671, sra, $s0, $a3, 0, test_words, 5 + TWO_REG_1_IMM message672, sra, $s7, $t1, 24, test_words, 20 + TWO_REG_1_IMM message673, sra, $t0, $a2, 24, test_words, 0 + TWO_REG_1_IMM message674, sra, $s7, $s7, 12, test_words, 7 + TWO_REG_1_IMM message675, sra, $a2, $a4, 16, test_words, 10 + TWO_REG_1_IMM message676, sra, $s1, $s2, 16, test_words, 10 + TWO_REG_1_IMM message677, sra, $a6, $s5, 4, test_words, 23 + TWO_REG_1_IMM message678, sra, $s7, $a5, 28, test_words, 31 + TWO_REG_1_IMM message679, sra, $a1, $t3, 20, test_words, 4 + TWO_REG_1_IMM message680, sra, $s1, $s3, 0, test_words, 21 + TWO_REG_1_IMM message681, sra, $s5, $s6, 24, test_words, 5 + TWO_REG_1_IMM message682, sra, $a2, $s5, 16, test_words, 28 + TWO_REG_1_IMM message683, sra, $t1, $a4, 24, test_words, 22 + TWO_REG_1_IMM message684, sra, $s7, $t2, 4, test_words, 21 + TWO_REG_1_IMM message685, sra, $s3, $t2, 16, test_words, 10 + TWO_REG_1_IMM message686, sra, $t0, $a7, 8, test_words, 17 + TWO_REG_1_IMM message687, sra, $a7, $t3, 20, test_words, 12 + TWO_REG_1_IMM message688, sra, $s2, $s6, 4, test_words, 24 + TWO_REG_1_IMM message689, sra, $s0, $a3, 20, test_words, 10 + TWO_REG_1_IMM message690, sra, $t0, $a1, 28, test_words, 9 + +# srl + TWO_REG_1_IMM message691, srl, $t1, $t1, 0, test_words, 24 + TWO_REG_1_IMM message692, srl, $t0, $a5, 24, test_words, 23 + TWO_REG_1_IMM message693, srl, $s7, $t2, 8, test_words, 19 + TWO_REG_1_IMM message694, srl, $a6, $s0, 16, test_words, 1 + TWO_REG_1_IMM message695, srl, $a7, $a6, 20, test_words, 13 + TWO_REG_1_IMM message696, srl, $s4, $s6, 20, test_words, 28 + TWO_REG_1_IMM message697, srl, $t2, $s6, 28, test_words, 30 + TWO_REG_1_IMM message698, srl, $s7, $a2, 0, test_words, 29 + TWO_REG_1_IMM message699, srl, $t3, $t0, 20, test_words, 11 + TWO_REG_1_IMM message700, srl, $a1, $a3, 12, test_words, 12 + TWO_REG_1_IMM message701, srl, $a2, $s5, 0, test_words, 12 + TWO_REG_1_IMM message702, srl, $a1, $a4, 20, test_words, 12 + TWO_REG_1_IMM message703, srl, $a2, $a6, 4, test_words, 6 + TWO_REG_1_IMM message704, srl, $s4, $t3, 12, test_words, 14 + TWO_REG_1_IMM message705, srl, $s5, $a2, 20, test_words, 13 + TWO_REG_1_IMM message706, srl, $a4, $a1, 8, test_words, 19 + TWO_REG_1_IMM message707, srl, $t1, $a3, 28, test_words, 6 + TWO_REG_1_IMM message708, srl, $t3, $s2, 8, test_words, 1 + TWO_REG_1_IMM message709, srl, $s7, $a2, 20, test_words, 24 + TWO_REG_1_IMM message710, srl, $a7, $t2, 16, test_words, 21 + TWO_REG_1_IMM message711, srl, $a4, $s1, 16, test_words, 28 + TWO_REG_1_IMM message712, srl, $a0, $a3, 12, test_words, 30 + TWO_REG_1_IMM message713, srl, $t1, $s0, 12, test_words, 1 + TWO_REG_1_IMM message714, srl, $s1, $a1, 16, test_words, 10 + TWO_REG_1_IMM message715, srl, $t0, $a3, 0, test_words, 23 + TWO_REG_1_IMM message716, srl, $a5, $t2, 0, test_words, 28 + TWO_REG_1_IMM message717, srl, $a1, $s5, 16, test_words, 12 + TWO_REG_1_IMM message718, srl, $a3, $t0, 4, test_words, 19 + TWO_REG_1_IMM message719, srl, $t2, $s1, 0, test_words, 18 + TWO_REG_1_IMM message720, srl, $a4, $a7, 0, test_words, 5 + +# ext + TWO_REG_2_IMM message721, ext, $a7, $t3, 24, test_words, 0, 17 + TWO_REG_2_IMM message722, ext, $a3, $a6, 20, test_words, 14, 1 + TWO_REG_2_IMM message723, ext, $t0, $a4, 16, test_words, 21, 9 + TWO_REG_2_IMM message724, ext, $a5, $a2, 20, test_words, 29, 2 + TWO_REG_2_IMM message725, ext, $s5, $s3, 20, test_words, 3, 28 + TWO_REG_2_IMM message726, ext, $s5, $s6, 4, test_words, 24, 7 + TWO_REG_2_IMM message727, ext, $t2, $t3, 8, test_words, 5, 7 + TWO_REG_2_IMM message728, ext, $s2, $s0, 20, test_words, 23, 2 + TWO_REG_2_IMM message729, ext, $s3, $t0, 8, test_words, 12, 6 + TWO_REG_2_IMM message730, ext, $t3, $s5, 12, test_words, 8, 12 + TWO_REG_2_IMM message731, ext, $s5, $a1, 8, test_words, 11, 9 + TWO_REG_2_IMM message732, ext, $s6, $a4, 28, test_words, 15, 10 + TWO_REG_2_IMM message733, ext, $s1, $s2, 16, test_words, 23, 6 + TWO_REG_2_IMM message734, ext, $t0, $s2, 12, test_words, 13, 4 + TWO_REG_2_IMM message735, ext, $a1, $a5, 20, test_words, 20, 2 + TWO_REG_2_IMM message736, ext, $a2, $a7, 24, test_words, 2, 24 + TWO_REG_2_IMM message737, ext, $t1, $s7, 16, test_words, 27, 2 + TWO_REG_2_IMM message738, ext, $a1, $a6, 12, test_words, 12, 10 + TWO_REG_2_IMM message739, ext, $s0, $a2, 28, test_words, 0, 26 + TWO_REG_2_IMM message740, ext, $s6, $s4, 12, test_words, 21, 11 + TWO_REG_2_IMM message741, ext, $s5, $a3, 12, test_words, 26, 6 + TWO_REG_2_IMM message742, ext, $s4, $t1, 8, test_words, 18, 8 + TWO_REG_2_IMM message743, ext, $a1, $s0, 8, test_words, 5, 26 + TWO_REG_2_IMM message744, ext, $a1, $t3, 4, test_words, 24, 8 + TWO_REG_2_IMM message745, ext, $t3, $s4, 4, test_words, 18, 1 + TWO_REG_2_IMM message746, ext, $t3, $a5, 20, test_words, 14, 3 + TWO_REG_2_IMM message747, ext, $a7, $a7, 4, test_words, 14, 7 + TWO_REG_2_IMM message748, ext, $s0, $s2, 28, test_words, 30, 1 + TWO_REG_2_IMM message749, ext, $a6, $s7, 0, test_words, 28, 2 + TWO_REG_2_IMM message750, ext, $a0, $s5, 0, test_words, 17, 13 + +# ins + TWO_REG_2_IMM_B message751, ins, $a7, $s0, 20, 4, test_words, test_words, 7, 1 + TWO_REG_2_IMM_B message752, ins, $t0, $a4, 28, 8, test_words, test_words, 6, 17 + TWO_REG_2_IMM_B message753, ins, $t2, $a0, 0, 16, test_words, test_words, 20, 11 + TWO_REG_2_IMM_B message754, ins, $t3, $s7, 24, 20, test_words, test_words, 18, 8 + TWO_REG_2_IMM_B message755, ins, $s1, $a7, 28, 12, test_words, test_words, 31, 1 + TWO_REG_2_IMM_B message756, ins, $s4, $s3, 20, 8, test_words, test_words, 0, 21 + TWO_REG_2_IMM_B message757, ins, $t0, $a4, 0, 12, test_words, test_words, 22, 9 + TWO_REG_2_IMM_B message758, ins, $s1, $a4, 24, 20, test_words, test_words, 16, 4 + TWO_REG_2_IMM_B message759, ins, $s7, $a7, 24, 20, test_words, test_words, 8, 1 + TWO_REG_2_IMM_B message760, ins, $a0, $a6, 0, 12, test_words, test_words, 29, 1 + TWO_REG_2_IMM_B message761, ins, $t0, $a5, 24, 4, test_words, test_words, 11, 1 + TWO_REG_2_IMM_B message762, ins, $a5, $a7, 8, 20, test_words, test_words, 26, 4 + TWO_REG_2_IMM_B message763, ins, $a3, $a7, 20, 8, test_words, test_words, 20, 7 + TWO_REG_2_IMM_B message764, ins, $s5, $t3, 4, 12, test_words, test_words, 9, 6 + TWO_REG_2_IMM_B message765, ins, $s3, $a5, 16, 12, test_words, test_words, 9, 10 + TWO_REG_2_IMM_B message766, ins, $s3, $a1, 8, 4, test_words, test_words, 14, 13 + TWO_REG_2_IMM_B message767, ins, $s0, $t3, 20, 8, test_words, test_words, 24, 1 + TWO_REG_2_IMM_B message768, ins, $t3, $t3, 28, 4, test_words, test_words, 29, 1 + TWO_REG_2_IMM_B message769, ins, $t3, $s2, 28, 0, test_words, test_words, 13, 7 + TWO_REG_2_IMM_B message770, ins, $a6, $s5, 24, 24, test_words, test_words, 4, 28 + TWO_REG_2_IMM_B message771, ins, $a7, $s7, 16, 8, test_words, test_words, 17, 5 + TWO_REG_2_IMM_B message772, ins, $a0, $a1, 20, 20, test_words, test_words, 11, 7 + TWO_REG_2_IMM_B message773, ins, $s1, $a7, 0, 20, test_words, test_words, 0, 31 + TWO_REG_2_IMM_B message774, ins, $s1, $a7, 0, 0, test_words, test_words, 23, 3 + TWO_REG_2_IMM_B message775, ins, $a1, $s2, 28, 28, test_words, test_words, 0, 4 + TWO_REG_2_IMM_B message776, ins, $a6, $t0, 12, 8, test_words, test_words, 18, 7 + TWO_REG_2_IMM_B message777, ins, $a4, $a6, 20, 4, test_words, test_words, 23, 1 + TWO_REG_2_IMM_B message778, ins, $a2, $s1, 28, 24, test_words, test_words, 18, 4 + TWO_REG_2_IMM_B message779, ins, $a4, $a7, 24, 20, test_words, test_words, 11, 3 + TWO_REG_2_IMM_B message780, ins, $a7, $s4, 0, 8, test_words, test_words, 3, 17 + TWO_REG_2_IMM_B message781, ins, $a5, $a5, 0, 0, test_words, test_words, 19, 8 + TWO_REG_2_IMM_B message782, ins, $s4, $t3, 16, 4, test_words, test_words, 8, 5 + TWO_REG_2_IMM_B message783, ins, $s6, $s6, 4, 4, test_words, test_words, 21, 10 + TWO_REG_2_IMM_B message784, ins, $a1, $a5, 24, 28, test_words, test_words, 14, 8 + TWO_REG_2_IMM_B message785, ins, $t1, $a1, 24, 20, test_words, test_words, 19, 8 + TWO_REG_2_IMM_B message786, ins, $s2, $s5, 12, 24, test_words, test_words, 25, 4 + TWO_REG_2_IMM_B message787, ins, $s1, $s2, 24, 20, test_words, test_words, 15, 2 + TWO_REG_2_IMM_B message788, ins, $t1, $a1, 20, 8, test_words, test_words, 19, 10 + TWO_REG_2_IMM_B message789, ins, $t1, $t0, 12, 12, test_words, test_words, 11, 15 + TWO_REG_2_IMM_B message790, ins, $a1, $s5, 12, 12, test_words, test_words, 14, 16 + +# extw + THREE_REG_1_IMM message791, extw, $s4, $a4, $s4, 28, 12, test_words, test_words, 25 + THREE_REG_1_IMM message792, extw, $a6, $s4, $s3, 16, 4, test_words, test_words, 15 + THREE_REG_1_IMM message793, extw, $t2, $s3, $a0, 28, 20, test_words, test_words, 3 + THREE_REG_1_IMM message794, extw, $a5, $a3, $a3, 20, 24, test_words, test_words, 19 + THREE_REG_1_IMM message795, extw, $s3, $s7, $a4, 8, 24, test_words, test_words, 2 + THREE_REG_1_IMM message796, extw, $s5, $a7, $s7, 4, 8, test_words, test_words, 2 + THREE_REG_1_IMM message797, extw, $a7, $a0, $s2, 8, 16, test_words, test_words, 31 + THREE_REG_1_IMM message798, extw, $s1, $s7, $s6, 8, 24, test_words, test_words, 8 + THREE_REG_1_IMM message799, extw, $s1, $s0, $s7, 20, 20, test_words, test_words, 25 + THREE_REG_1_IMM message800, extw, $a4, $a4, $a5, 16, 24, test_words, test_words, 3 + THREE_REG_1_IMM message801, extw, $t2, $s4, $a6, 20, 4, test_words, test_words, 17 + THREE_REG_1_IMM message802, extw, $s3, $t0, $a1, 20, 28, test_words, test_words, 14 + THREE_REG_1_IMM message803, extw, $s1, $t0, $t1, 28, 8, test_words, test_words, 19 + THREE_REG_1_IMM message804, extw, $s7, $a0, $t3, 8, 20, test_words, test_words, 8 + THREE_REG_1_IMM message805, extw, $a0, $a1, $t0, 4, 4, test_words, test_words, 11 + THREE_REG_1_IMM message806, extw, $a4, $s3, $a7, 12, 20, test_words, test_words, 12 + THREE_REG_1_IMM message807, extw, $a4, $a0, $s5, 20, 8, test_words, test_words, 0 + THREE_REG_1_IMM message808, extw, $a7, $s7, $s0, 0, 24, test_words, test_words, 27 + THREE_REG_1_IMM message809, extw, $t0, $a6, $t3, 28, 0, test_words, test_words, 16 + THREE_REG_1_IMM message810, extw, $a0, $s0, $t1, 16, 20, test_words, test_words, 6 + THREE_REG_1_IMM message811, extw, $a3, $s2, $a1, 8, 20, test_words, test_words, 10 + THREE_REG_1_IMM message812, extw, $a7, $s1, $a3, 0, 24, test_words, test_words, 17 + THREE_REG_1_IMM message813, extw, $a4, $a6, $t0, 0, 8, test_words, test_words, 14 + THREE_REG_1_IMM message814, extw, $a3, $s2, $s4, 24, 24, test_words, test_words, 29 + THREE_REG_1_IMM message815, extw, $s2, $s2, $s1, 12, 8, test_words, test_words, 15 + THREE_REG_1_IMM message816, extw, $s1, $a2, $a5, 28, 16, test_words, test_words, 30 + THREE_REG_1_IMM message817, extw, $s5, $s3, $t3, 0, 12, test_words, test_words, 13 + THREE_REG_1_IMM message818, extw, $t1, $t3, $s7, 4, 16, test_words, test_words, 10 + THREE_REG_1_IMM message819, extw, $a0, $t3, $s0, 16, 24, test_words, test_words, 14 + THREE_REG_1_IMM message820, extw, $a5, $t0, $s0, 12, 0, test_words, test_words, 23 + THREE_REG_1_IMM message821, extw, $a2, $t1, $s1, 12, 0, test_words, test_words, 29 + THREE_REG_1_IMM message822, extw, $s1, $a6, $a5, 0, 8, test_words, test_words, 28 + THREE_REG_1_IMM message823, extw, $s1, $a4, $a0, 20, 20, test_words, test_words, 28 + THREE_REG_1_IMM message824, extw, $s7, $s1, $a7, 28, 8, test_words, test_words, 1 + THREE_REG_1_IMM message825, extw, $s6, $s3, $a2, 8, 24, test_words, test_words, 22 + THREE_REG_1_IMM message826, extw, $a1, $s4, $a7, 8, 12, test_words, test_words, 0 + THREE_REG_1_IMM message827, extw, $t0, $s4, $s6, 4, 16, test_words, test_words, 12 + THREE_REG_1_IMM message828, extw, $s5, $s6, $a4, 20, 28, test_words, test_words, 22 + THREE_REG_1_IMM message829, extw, $s5, $t2, $a3, 20, 20, test_words, test_words, 29 + THREE_REG_1_IMM message830, extw, $a6, $t3, $s5, 16, 24, test_words, test_words, 7 + + move $a0, $zero + restore 16, $ra + jrc $ra + .set macro + .set reorder + .end main + .size main, .-main diff --git a/none/tests/nanomips/bits.stderr.exp b/none/tests/nanomips/bits.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/bits.stdout.exp b/none/tests/nanomips/bits.stdout.exp new file mode 100644 index 0000000000..6e4513772a --- /dev/null +++ b/none/tests/nanomips/bits.stdout.exp @@ -0,0 +1,830 @@ +clo $a2 00000000 $s1 09abcdef +clo $s0 00000002 $a6 cccccccc +clo $t0 00000001 $s4 aaaaaaaa +clo $t0 00000001 $a7 aaaaaaaa +clo $s0 00000000 $a2 09abcdef +clo $s0 00000002 $s0 cccccccc +clo $s2 00000000 $s0 55555555 +clo $a7 00000020 $s4 ffffffff +clo $a7 00000020 $s4 ffffffff +clo $s2 00000000 $s1 09abcdef +clo $s0 00000020 $a3 ffffffff +clo $s7 00000000 $s3 09abcdef +clo $s4 00000000 $t3 09abcdef +clo $a3 00000000 $t0 55555555 +clo $s3 00000002 $a4 cccccccc +clo $a2 00000020 $a4 ffffffff +clo $s7 00000002 $a6 cccccccc +clo $s2 00000000 $s5 55555555 +clo $s7 00000000 $a0 55555555 +clo $a5 00000000 $s2 09abcdef +clz $a4 00000000 $s2 aaaaaaaa +clz $s5 00000003 $a6 12345678 +clz $s0 00000001 $s2 55555555 +clz $t0 00000003 $s6 12345678 +clz $s6 00000003 $t1 12345678 +clz $s7 00000003 $s3 12345678 +clz $a5 00000020 $a6 00000000 +clz $a6 00000000 $s0 cccccccc +clz $a0 00000000 $a4 cccccccc +clz $a6 00000000 $a1 aaaaaaaa +clz $s6 00000000 $a5 ffffffff +clz $a5 00000004 $t3 09abcdef +clz $t3 00000001 $a7 55555555 +clz $s5 00000002 $s7 33333333 +clz $s7 00000000 $s2 ffffffff +clz $s5 00000020 $a5 00000000 +clz $s7 00000003 $a2 12345678 +clz $a3 00000004 $s1 09abcdef +clz $a4 00000000 $s1 aaaaaaaa +clz $t1 00000002 $t0 33333333 +not $a0 00000000 $s2 ffffffff +not $a2 cccccccc $s3 33333333 +not $a1 cccccccc $s2 33333333 +not $a3 f6543210 $a0 09abcdef +not $s3 00000000 $s3 ffffffff +not $a0 f6543210 $s1 09abcdef +not $a0 00000000 $a0 ffffffff +not $s3 edcba987 $s0 12345678 +not $s2 ffffffff $s0 00000000 +not $a1 ffffffff $a2 00000000 +not $s1 edcba987 $a2 12345678 +not $s2 33333333 $s0 cccccccc +not $a3 55555555 $s2 aaaaaaaa +not $s3 55555555 $a1 aaaaaaaa +not $s2 55555555 $a1 aaaaaaaa +not $a0 ffffffff $a1 00000000 +not $s3 ffffffff $a2 00000000 +not $a0 cccccccc $a1 33333333 +not $s3 00000000 $s3 ffffffff +not $s3 55555555 $a0 aaaaaaaa +seb $t3 ffffffcc $s1 cccccccc +seb $a5 00000055 $a3 55555555 +seb $a2 00000000 $t2 00000000 +seb $t1 ffffffff $s1 ffffffff +seb $s1 00000055 $t0 55555555 +seb $s4 00000033 $s0 33333333 +seb $a4 00000078 $s3 12345678 +seb $t0 ffffffef $t3 09abcdef +seb $a5 00000078 $s2 12345678 +seb $a6 00000078 $s1 12345678 +seb $t1 ffffffaa $a0 aaaaaaaa +seb $t2 00000078 $a5 12345678 +seb $s0 ffffffcc $t3 cccccccc +seb $s0 00000055 $t1 55555555 +seb $a2 00000078 $a6 12345678 +seb $t0 00000055 $s2 55555555 +seb $s4 ffffffcc $s6 cccccccc +seb $s6 ffffffff $a2 ffffffff +seb $a1 ffffffaa $t3 aaaaaaaa +seb $a3 ffffffcc $a5 cccccccc +seh $a1 ffffcccc $a2 cccccccc +seh $a0 ffffaaaa $s5 aaaaaaaa +seh $a3 00005555 $a1 55555555 +seh $a4 ffffcdef $s2 09abcdef +seh $a6 ffffcccc $s4 cccccccc +seh $a5 ffffcdef $a0 09abcdef +seh $a3 ffffcccc $a5 cccccccc +seh $a5 00000000 $t3 00000000 +seh $s6 ffffaaaa $s5 aaaaaaaa +seh $a5 ffffffff $s0 ffffffff +seh $t2 ffffaaaa $s2 aaaaaaaa +seh $a0 00000000 $a2 00000000 +seh $s3 00005555 $a5 55555555 +seh $s1 00000000 $s1 00000000 +seh $t1 00003333 $s0 33333333 +seh $s2 00000000 $a5 00000000 +seh $s6 ffffffff $s0 ffffffff +seh $a3 ffffcccc $a5 cccccccc +seh $s7 00005555 $t3 55555555 +seh $a7 00005678 $t1 12345678 +and[32] $t0 08aa88aa $s7 aaaaaaaa $s4 09abcdef +and[32] $s7 12301230 $t0 33333333 $t2 12345678 +and[32] $a0 12345678 $a2 ffffffff $s6 12345678 +and[32] $a6 cccccccc $a7 55555555 $a7 cccccccc +and[32] $a7 cccccccc $a0 cccccccc $t1 ffffffff +and[32] $s4 88888888 $a4 aaaaaaaa $a3 cccccccc +and[32] $a5 01014545 $t3 55555555 $s1 09abcdef +and[32] $s0 09abcdef $t1 09abcdef $t3 ffffffff +and[32] $a5 00000000 $a7 09abcdef $a3 00000000 +and[32] $a5 00000000 $t1 00000000 $s3 aaaaaaaa +and[32] $a5 00044448 $a0 12345678 $t3 cccccccc +and[32] $s0 02200228 $s6 aaaaaaaa $s1 12345678 +and[32] $s3 01230123 $s1 33333333 $t1 09abcdef +and[32] $s0 aaaaaaaa $a0 aaaaaaaa $s0 aaaaaaaa +and[32] $t1 aaaaaaaa $s4 ffffffff $a6 aaaaaaaa +and[32] $a2 00000000 $t2 55555555 $a0 aaaaaaaa +and[32] $a0 0888cccc $s3 09abcdef $a3 cccccccc +and[32] $s0 88888888 $a0 cccccccc $t3 aaaaaaaa +and[32] $s1 01230123 $a0 09abcdef $a4 33333333 +and[32] $s7 aaaaaaaa $a7 aaaaaaaa $s5 aaaaaaaa +and[32] $s4 01014545 $s5 09abcdef $t3 55555555 +and[32] $a3 08aa88aa $a1 09abcdef $t0 aaaaaaaa +and[32] $a7 01014545 $a7 55555555 $s2 09abcdef +and[32] $a3 00000000 $s2 09abcdef $t3 00000000 +and[32] $s6 aaaaaaaa $a4 aaaaaaaa $s0 aaaaaaaa +and[32] $s5 12345678 $t2 12345678 $s3 12345678 +and[32] $t2 cccccccc $s2 cccccccc $t3 ffffffff +and[32] $t1 00000000 $s4 cccccccc $a3 00000000 +and[32] $a2 09abcdef $s5 ffffffff $a7 09abcdef +and[32] $a6 0888cccc $s0 cccccccc $t2 09abcdef +and[32] $t2 00000000 $a4 55555555 $s4 aaaaaaaa +and[32] $s7 44444444 $s3 55555555 $a5 cccccccc +and[32] $s3 10145450 $t0 55555555 $a0 12345678 +and[32] $a1 33333333 $t3 33333333 $t2 ffffffff +and[32] $t2 12301230 $t3 12345678 $t2 33333333 +and[32] $a5 01014545 $t0 09abcdef $a4 55555555 +and[32] $a0 00000000 $a1 00000000 $s2 33333333 +and[32] $t1 55555555 $t3 55555555 $a3 55555555 +and[32] $s5 00000000 $t2 ffffffff $s6 00000000 +and[32] $s0 09abcdef $s6 09abcdef $a0 09abcdef +nor $a5 55555555 $t1 aaaaaaaa $a2 aaaaaaaa +nor $a6 aaaaaaaa $a0 55555555 $a4 00000000 +nor $s2 ccc88884 $a2 33333333 $t1 12345678 +nor $s1 00000000 $a1 ffffffff $a6 aaaaaaaa +nor $a4 00000000 $t2 55555555 $s5 aaaaaaaa +nor $s6 a88aa882 $t3 12345678 $s1 55555555 +nor $a0 edcba987 $a3 12345678 $t3 12345678 +nor $a7 54541010 $a0 aaaaaaaa $a6 09abcdef +nor $a2 00000000 $s5 00000000 $t1 ffffffff +nor $a4 a88aa882 $s1 55555555 $a6 12345678 +nor $s5 c4440000 $a6 09abcdef $a4 33333333 +nor $a7 00000000 $a5 ffffffff $a7 09abcdef +nor $t1 00000000 $s1 ffffffff $s6 33333333 +nor $s4 e4402000 $a4 12345678 $t0 09abcdef +nor $s3 33333333 $s5 cccccccc $a0 cccccccc +nor $t1 54541010 $a5 09abcdef $a6 aaaaaaaa +nor $s5 00000000 $s0 ffffffff $s5 aaaaaaaa +nor $s1 00000000 $a5 ffffffff $a4 12345678 +nor $a7 11111111 $s6 cccccccc $a3 aaaaaaaa +nor $t3 cccccccc $a5 00000000 $a7 33333333 +nor $s6 88888888 $t3 55555555 $s5 33333333 +nor $t2 edcba987 $a3 00000000 $s5 12345678 +nor $a0 11111111 $s1 cccccccc $t3 aaaaaaaa +nor $s2 55555555 $s7 aaaaaaaa $a4 00000000 +nor $t2 00000000 $a2 ffffffff $t2 33333333 +nor $a2 00000000 $a1 cccccccc $s5 ffffffff +nor $a1 edcba987 $t0 12345678 $s0 12345678 +nor $s1 22222222 $a4 55555555 $a6 cccccccc +nor $t0 f6543210 $s7 09abcdef $a2 00000000 +nor $s1 00000000 $s2 ffffffff $s7 ffffffff +nor $t3 00000000 $a3 55555555 $t3 ffffffff +nor $a7 33333333 $s4 cccccccc $t2 cccccccc +nor $t3 00000000 $a6 aaaaaaaa $s1 ffffffff +nor $s4 45410105 $t0 12345678 $s1 aaaaaaaa +nor $a2 aaaaaaaa $t2 ffffffff $t2 55555555 +nor $t2 ccc88884 $a6 12345678 $s0 33333333 +nor $a5 f6543210 $t1 00000000 $s7 09abcdef +nor $s4 00000000 $a4 12345678 $a3 ffffffff +nor $t1 21032103 $a1 12345678 $s7 cccccccc +nor $a0 88888888 $s2 55555555 $s1 33333333 +or[32] $a0 defcdefc $s4 12345678 $a3 cccccccc +or[32] $a1 ffffffff $a1 ffffffff $t0 aaaaaaaa +or[32] $s0 5dffddff $a6 09abcdef $t0 55555555 +or[32] $t0 5dffddff $a0 09abcdef $t2 55555555 +or[32] $t3 aaaaaaaa $s0 aaaaaaaa $s0 aaaaaaaa +or[32] $s1 ffffffff $s7 12345678 $s1 ffffffff +or[32] $a2 cccccccc $s3 cccccccc $s2 cccccccc +or[32] $t3 ababefef $t2 aaaaaaaa $s6 09abcdef +or[32] $s5 1bbfdfff $s7 12345678 $s1 09abcdef +or[32] $a3 dddddddd $t2 55555555 $a3 cccccccc +or[32] $t1 ffffffff $s5 ffffffff $s2 33333333 +or[32] $t1 ffffffff $a6 12345678 $t0 ffffffff +or[32] $a5 ffffffff $a0 aaaaaaaa $a0 ffffffff +or[32] $s5 55555555 $a7 00000000 $s7 55555555 +or[32] $a6 ababefef $a1 09abcdef $s2 aaaaaaaa +or[32] $a5 ffffffff $t3 33333333 $s5 cccccccc +or[32] $s7 ffffffff $t1 ffffffff $t2 aaaaaaaa +or[32] $a7 3bbbffff $a2 09abcdef $s5 33333333 +or[32] $a2 12345678 $a0 12345678 $a1 00000000 +or[32] $t2 77777777 $t0 55555555 $s7 33333333 +or[32] $s1 aaaaaaaa $a4 aaaaaaaa $s1 00000000 +or[32] $a5 12345678 $t0 12345678 $a3 00000000 +or[32] $s0 12345678 $s5 12345678 $a6 12345678 +or[32] $s5 55555555 $a5 55555555 $s4 00000000 +or[32] $a5 5dffddff $s1 55555555 $s5 09abcdef +or[32] $s5 3337777b $t0 33333333 $s3 12345678 +or[32] $a7 ffffffff $a1 ffffffff $s3 ffffffff +or[32] $a3 77777777 $s6 55555555 $a1 33333333 +or[32] $s2 00000000 $s6 00000000 $t2 00000000 +or[32] $s0 cdefcdef $a1 cccccccc $a6 09abcdef +or[32] $t2 09abcdef $t2 09abcdef $s0 00000000 +or[32] $s4 aaaaaaaa $t0 aaaaaaaa $a4 00000000 +or[32] $t3 77777777 $s7 55555555 $s2 33333333 +or[32] $s7 bbbbbbbb $a5 33333333 $s2 aaaaaaaa +or[32] $s6 55555555 $t2 00000000 $t1 55555555 +or[32] $s1 1bbfdfff $s5 09abcdef $a7 12345678 +or[32] $a7 ffffffff $t2 09abcdef $t0 ffffffff +or[32] $s4 aaaaaaaa $s3 00000000 $a2 aaaaaaaa +or[32] $s2 ffffffff $a7 33333333 $a2 cccccccc +or[32] $a6 33333333 $s7 33333333 $s6 00000000 +xor[32] $t1 00000000 $a2 12345678 $a2 aaaaaaaa +xor[32] $s1 99999999 $t0 33333333 $a4 aaaaaaaa +xor[32] $a2 b89efcd2 $s7 12345678 $a5 aaaaaaaa +xor[32] $t3 99999999 $a2 cccccccc $s6 55555555 +xor[32] $a1 aaaaaaaa $a3 aaaaaaaa $t2 00000000 +xor[32] $a7 aaaaaaaa $a1 55555555 $s3 ffffffff +xor[32] $s7 4761032d $s3 12345678 $a4 55555555 +xor[32] $a3 a3016745 $t3 aaaaaaaa $a6 09abcdef +xor[32] $s5 a3016745 $s1 09abcdef $s7 aaaaaaaa +xor[32] $t2 aaaaaaaa $t2 00000000 $a1 aaaaaaaa +xor[32] $s3 00000000 $a6 cccccccc $a6 ffffffff +xor[32] $s2 ffffffff $s1 55555555 $a3 aaaaaaaa +xor[32] $a4 99999999 $s1 33333333 $a2 aaaaaaaa +xor[32] $s4 00000000 $a3 12345678 $s2 12345678 +xor[32] $s2 f6543210 $s4 ffffffff $a3 09abcdef +xor[32] $a2 a3016745 $a3 aaaaaaaa $s5 09abcdef +xor[32] $a4 12345678 $a7 12345678 $s5 00000000 +xor[32] $s7 1b9f9b97 $s5 12345678 $t1 09abcdef +xor[32] $a0 00000000 $a6 aaaaaaaa $s0 aaaaaaaa +xor[32] $a0 4761032d $a7 12345678 $a2 55555555 +xor[32] $t1 cccccccc $a0 00000000 $s2 cccccccc +xor[32] $s5 4761032d $a3 12345678 $a0 55555555 +xor[32] $s0 cccccccc $a2 ffffffff $t1 33333333 +xor[32] $t2 1b9f9b97 $a0 09abcdef $s1 12345678 +xor[32] $s0 c5670123 $t0 cccccccc $a1 09abcdef +xor[32] $s0 b89efcd2 $t1 12345678 $s2 aaaaaaaa +xor[32] $s0 2107654b $t3 12345678 $a0 33333333 +xor[32] $t1 00000000 $s7 55555555 $s7 cccccccc +xor[32] $a5 a3016745 $t2 aaaaaaaa $a7 09abcdef +xor[32] $s4 ffffffff $a5 ffffffff $t0 00000000 +xor[32] $t2 a3016745 $a2 aaaaaaaa $s0 09abcdef +xor[32] $s3 4761032d $t3 12345678 $s0 55555555 +xor[32] $a7 f6543210 $s6 09abcdef $a5 ffffffff +xor[32] $a5 3a98fedc $s1 33333333 $s4 09abcdef +xor[32] $a6 33333333 $s2 ffffffff $s1 cccccccc +xor[32] $a4 99999999 $s1 33333333 $a2 aaaaaaaa +xor[32] $s6 b89efcd2 $s3 aaaaaaaa $t1 12345678 +xor[32] $s0 33333333 $a6 00000000 $s6 33333333 +xor[32] $s0 00000000 $a7 ffffffff $a7 09abcdef +xor[32] $a4 09abcdef $s3 00000000 $s0 09abcdef +and[16] $a3 00000000 old $a3 ffffffff $s2 00000000 +and[16] $a0 33333333 old $a0 33333333 $s2 ffffffff +and[16] $s0 22222222 old $s0 33333333 $a1 aaaaaaaa +and[16] $s0 10145450 old $s0 12345678 $a1 55555555 +and[16] $s1 00000000 old $s1 33333333 $s0 cccccccc +and[16] $a1 00000000 old $a1 cccccccc $a0 00000000 +and[16] $a2 00000000 old $a2 00000000 $s0 cccccccc +and[16] $a0 aaaaaaaa old $a0 33333333 $a0 aaaaaaaa +and[16] $s3 08aa88aa old $s3 aaaaaaaa $s2 09abcdef +and[16] $s0 00000000 old $s0 00000000 $s3 ffffffff +and[16] $a0 33333333 old $a0 33333333 $s1 33333333 +and[16] $s2 01230123 old $s2 09abcdef $a2 33333333 +and[16] $s2 09abcdef old $s2 ffffffff $a3 09abcdef +and[16] $s0 00204468 old $s0 09abcdef $s2 12345678 +and[16] $a2 00000000 old $a2 aaaaaaaa $s3 55555555 +and[16] $a0 0888cccc old $a0 cccccccc $s3 09abcdef +and[16] $s1 10145450 old $s1 12345678 $a0 55555555 +and[16] $a0 00000000 old $a0 aaaaaaaa $s2 00000000 +and[16] $a3 44444444 old $a3 cccccccc $s3 55555555 +and[16] $a1 00204468 old $a1 12345678 $s0 09abcdef +or[16] $s3 aaaaaaaa old $s3 09abcdef $s3 aaaaaaaa +or[16] $s2 00000000 old $s2 ffffffff $s2 00000000 +or[16] $s2 babefefa old $s2 aaaaaaaa $s0 12345678 +or[16] $s0 ffffffff old $s0 cccccccc $a0 ffffffff +or[16] $a1 ffffffff old $a1 aaaaaaaa $a3 ffffffff +or[16] $a1 ffffffff old $a1 ffffffff $s2 cccccccc +or[16] $s1 1bbfdfff old $s1 09abcdef $s2 12345678 +or[16] $a2 5775577d old $a2 12345678 $s1 55555555 +or[16] $s0 dddddddd old $s0 cccccccc $s1 55555555 +or[16] $a3 ffffffff old $a3 aaaaaaaa $s3 ffffffff +or[16] $a3 09abcdef old $a3 09abcdef $s2 09abcdef +or[16] $s2 ffffffff old $s2 ffffffff $s0 09abcdef +or[16] $s3 ffffffff old $s3 00000000 $s0 ffffffff +or[16] $a3 12345678 old $a3 12345678 $a2 00000000 +or[16] $a0 ababefef old $a0 09abcdef $s1 aaaaaaaa +or[16] $a2 defcdefc old $a2 cccccccc $s1 12345678 +or[16] $a2 cccccccc old $a2 ffffffff $a2 cccccccc +or[16] $a1 cdefcdef old $a1 09abcdef $s0 cccccccc +or[16] $a2 33333333 old $a2 33333333 $s2 00000000 +or[16] $a3 55555555 old $a3 00000000 $s1 55555555 +xor[16] $a2 66666666 old $a2 aaaaaaaa $a0 cccccccc +xor[16] $a2 66666666 old $a2 cccccccc $a1 aaaaaaaa +xor[16] $s2 12345678 old $s2 12345678 $s0 00000000 +xor[16] $a1 a3016745 old $a1 09abcdef $a3 aaaaaaaa +xor[16] $s1 f6543210 old $s1 ffffffff $a0 09abcdef +xor[16] $s0 2107654b old $s0 33333333 $a0 12345678 +xor[16] $s2 edcba987 old $s2 12345678 $a0 ffffffff +xor[16] $s2 00000000 old $s2 33333333 $s2 00000000 +xor[16] $s3 00000000 old $s3 cccccccc $s3 ffffffff +xor[16] $a1 3a98fedc old $a1 33333333 $a2 09abcdef +xor[16] $s3 00000000 old $s3 00000000 $a2 00000000 +xor[16] $s1 99999999 old $s1 33333333 $s3 aaaaaaaa +xor[16] $s3 ffffffff old $s3 55555555 $s1 aaaaaaaa +xor[16] $s1 55555555 old $s1 ffffffff $s2 aaaaaaaa +xor[16] $s2 ffffffff old $s2 cccccccc $s3 33333333 +xor[16] $s2 ffffffff old $s2 33333333 $a1 cccccccc +xor[16] $a0 edcba987 old $a0 12345678 $a1 ffffffff +xor[16] $s0 55555555 old $s0 ffffffff $a3 aaaaaaaa +xor[16] $s1 00000000 old $s1 aaaaaaaa $a1 aaaaaaaa +xor[16] $a0 1b9f9b97 old $a0 12345678 $s3 09abcdef +rotrv $a4 ffffffff $s4 ffffffff $a2 0000001f +rotrv $s3 aaaaaaaa $s1 55555555 $a4 00000007 +rotrv $t1 66666666 $s0 cccccccc $s7 00000011 +rotrv $a7 cccccccc $s7 cccccccc $t0 00000008 +rotrv $s7 00000020 $a6 33333333 $a6 00000020 +rotrv $a5 ffffffff $a3 ffffffff $s7 00000011 +rotrv $s2 00000020 $s5 00000000 $s5 00000020 +rotrv $a7 00000000 $s7 00000000 $t0 00000011 +rotrv $t2 ffffffff $a1 ffffffff $a6 0000001f +rotrv $s3 84d5e6f7 $a0 09abcdef $s5 00000001 +rotrv $a4 78123456 $a6 12345678 $s3 00000008 +rotrv $a2 66666666 $s0 cccccccc $t2 00000001 +rotrv $s0 cccccccc $t3 cccccccc $t2 00000008 +rotrv $t1 ffffffff $a1 ffffffff $t2 00000001 +rotrv $t0 55555555 $s3 55555555 $t2 00000000 +rotrv $a4 2b3c091a $a5 12345678 $t1 00000011 +rotrv $s2 2b3c091a $s6 12345678 $a3 00000011 +rotrv $t2 ffffffff $s0 ffffffff $a5 00000007 +rotrv $a2 0000003e $t1 33333333 $t1 0000001f +rotrv $a1 ef09abcd $s2 09abcdef $a3 00000008 +rotrv $a0 aaaaaaaa $a7 55555555 $t3 00000011 +rotrv $a3 00000000 $s7 00000000 $a7 00000001 +rotrv $s4 55555555 $s7 aaaaaaaa $t3 00000011 +rotrv $t0 ffffffff $a6 ffffffff $s1 00000008 +rotrv $a7 ffffffff $s7 ffffffff $a0 00000010 +rotrv $a2 aaaaaaaa $s2 55555555 $t2 00000001 +rotrv $a5 99999999 $a6 33333333 $a1 00000011 +rotrv $a2 cccccccc $a0 cccccccc $s4 00000000 +rotrv $t1 00000000 $s5 00000000 $a7 00000001 +rotrv $s0 2468acf0 $t1 12345678 $t3 0000001f +rotrv $s6 aaaaaaaa $t1 55555555 $a6 00000007 +rotrv $a6 0000003e $s0 00000000 $s0 0000001f +rotrv $a2 0000003e $a1 aaaaaaaa $a1 0000001f +rotrv $t2 78123456 $s1 12345678 $a6 00000008 +rotrv $s2 12345678 $t3 12345678 $a4 00000020 +rotrv $t1 33333333 $t2 33333333 $a4 00000000 +rotrv $s7 ffffffff $a2 ffffffff $t2 00000010 +rotrv $t0 ffffffff $t3 ffffffff $t1 00000008 +rotrv $a3 00000000 $t3 00000000 $s0 00000007 +rotrv $s6 00000000 $a2 00000000 $s7 00000010 +sllv $a6 00220000 $a3 aaaaaaaa $a3 00000011 +sllv $a3 13579bde $s4 09abcdef $a3 00000001 +sllv $a4 55555500 $s6 55555555 $s7 00000008 +sllv $a4 ffffffff $a2 ffffffff $t2 00000020 +sllv $a5 2468acf0 $t0 12345678 $t2 00000001 +sllv $t0 00000000 $a0 00000000 $s7 00000001 +sllv $s4 9bde0000 $t2 09abcdef $s0 00000011 +sllv $s5 99999980 $t2 33333333 $a6 00000007 +sllv $t3 00000000 $a4 12345678 $s4 0000001f +sllv $a4 12345678 $t2 12345678 $s5 00000020 +sllv $s4 00000000 $a0 aaaaaaaa $s0 0000001f +sllv $a1 00000000 $t3 00000000 $s6 00000008 +sllv $t3 cdef0000 $a0 09abcdef $a2 00000010 +sllv $s7 99999998 $a0 cccccccc $a6 00000001 +sllv $t0 cccccccc $s4 cccccccc $a5 00000020 +sllv $a4 00000800 $a5 ffffffff $a5 00000008 +sllv $s1 cccccccc $a1 cccccccc $t3 00000000 +sllv $a5 00000000 $a2 00000000 $a4 0000001f +sllv $a7 00000020 $s3 cccccccc $s3 00000020 +sllv $s3 00000000 $t1 cccccccc $s3 0000001f +sllv $s4 55555500 $a6 55555555 $s7 00000008 +sllv $a2 aaaaaaaa $s6 aaaaaaaa $a4 00000020 +sllv $a3 9bde0000 $s0 09abcdef $a4 00000011 +sllv $a1 ffffffff $a0 ffffffff $s3 00000000 +sllv $s6 80000000 $a4 cccccccc $a4 0000001f +sllv $s7 aaaaaaaa $s0 55555555 $s7 00000001 +sllv $a5 66666666 $s3 33333333 $a3 00000001 +sllv $a2 80000000 $s6 55555555 $a7 0000001f +sllv $a2 aaaa0000 $a2 55555555 $s6 00000011 +sllv $t0 09abcdef $t3 09abcdef $t1 00000000 +sllv $s2 00000000 $s5 12345678 $a1 0000001f +sllv $t3 12345678 $a1 12345678 $s2 00000020 +sllv $s0 aaaaaaaa $t3 aaaaaaaa $a2 00000000 +sllv $s7 12345678 $t2 12345678 $a6 00000000 +sllv $s4 09abcdef $t0 09abcdef $s2 00000020 +sllv $t3 ffffff80 $a3 ffffffff $s6 00000007 +sllv $s3 00000000 $s3 00000000 $s0 00000011 +sllv $s2 99980000 $s3 cccccccc $s2 00000011 +sllv $a1 00000000 $a1 00000000 $t0 00000010 +sllv $a0 00000000 $s3 aaaaaaaa $s6 0000001f +srav $s3 ffffffff $s3 ffffffff $a2 00000007 +srav $t1 00000000 $s5 00000000 $a5 0000001f +srav $a0 33333333 $a3 33333333 $s5 00000020 +srav $a2 00000000 $s2 33333333 $s2 00000008 +srav $a7 ffffd555 $s5 aaaaaaaa $s4 00000011 +srav $s1 aaaaaaaa $t0 aaaaaaaa $a1 00000020 +srav $a7 cccccccc $s6 cccccccc $t2 00000000 +srav $a1 55555555 $s3 55555555 $s5 00000020 +srav $s7 00000000 $t2 00000000 $s2 0000001f +srav $t1 ffffffff $a2 aaaaaaaa $a1 0000001f +srav $s4 e6666666 $a6 cccccccc $a7 00000001 +srav $t1 091a2b3c $a6 12345678 $t1 00000001 +srav $s4 00000000 $s1 09abcdef $t0 0000001f +srav $t0 ffffffff $a4 cccccccc $s5 0000001f +srav $s0 55555555 $t0 55555555 $s5 00000000 +srav $a3 00666666 $s7 33333333 $s2 00000007 +srav $a4 ff555555 $s1 aaaaaaaa $s4 00000007 +srav $a2 0013579b $s4 09abcdef $a4 00000007 +srav $s5 ffffffff $t0 ffffffff $s3 00000008 +srav $a2 00000000 $t1 09abcdef $s7 0000001f +srav $s1 00000000 $t0 12345678 $s6 0000001f +srav $a2 00000000 $s2 00000000 $a2 00000007 +srav $s0 ffffffff $s0 ffffffff $a7 00000010 +srav $a5 ffffffff $s7 ffffffff $a4 00000007 +srav $t3 00001234 $s7 12345678 $a2 00000010 +srav $s5 00000000 $a4 00000000 $a6 00000000 +srav $a4 ffffaaaa $t2 aaaaaaaa $s0 00000010 +srav $s6 00000000 $s5 00000000 $s6 00000007 +srav $a1 00666666 $t1 33333333 $a6 00000007 +srav $s2 09abcdef $a6 09abcdef $a5 00000020 +srav $s3 12345678 $a6 12345678 $a2 00000000 +srav $s3 cccccccc $t3 cccccccc $s5 00000000 +srav $a5 ffffcccc $a1 cccccccc $t2 00000010 +srav $s6 cccccccc $s3 cccccccc $t2 00000000 +srav $s0 00000000 $a2 55555555 $t1 0000001f +srav $a7 00000000 $a5 00000000 $a0 00000000 +srav $t0 0000091a $s7 12345678 $s2 00000011 +srav $t2 ff555555 $a1 aaaaaaaa $s5 00000007 +srav $s5 d5555555 $s0 aaaaaaaa $s4 00000001 +srav $t0 002468ac $t1 12345678 $a5 00000007 +srlv $a5 2aaaaaaa $s6 55555555 $s4 00000001 +srlv $a7 000004d5 $a1 09abcdef $a6 00000011 +srlv $s2 00666666 $s7 33333333 $a0 00000007 +srlv $s6 0013579b $s2 09abcdef $a7 00000007 +srlv $a6 12345678 $a4 12345678 $s2 00000020 +srlv $a4 00007fff $a6 ffffffff $s0 00000011 +srlv $a7 0000aaaa $t2 aaaaaaaa $a7 00000010 +srlv $s0 00000000 $t2 12345678 $s5 0000001f +srlv $a6 00005555 $t0 55555555 $a1 00000010 +srlv $a7 00aaaaaa $s4 aaaaaaaa $t3 00000008 +srlv $s5 00aaaaaa $a5 aaaaaaaa $a7 00000008 +srlv $a6 0000aaaa $t3 aaaaaaaa $s5 00000010 +srlv $t2 00002aaa $s6 55555555 $t2 00000011 +srlv $s2 00005555 $a6 aaaaaaaa $a4 00000011 +srlv $a2 0000aaaa $s5 aaaaaaaa $a1 00000010 +srlv $a2 01999999 $a3 cccccccc $t0 00000007 +srlv $a0 00005555 $a6 aaaaaaaa $s7 00000011 +srlv $a2 00005555 $t2 aaaaaaaa $a1 00000011 +srlv $s5 00003333 $s6 33333333 $s3 00000010 +srlv $t0 00000000 $a6 00000000 $s2 00000007 +srlv $s7 00000001 $a6 cccccccc $s7 0000001f +srlv $t3 00000000 $a3 00000000 $a5 00000010 +srlv $a7 12345678 $s0 12345678 $s6 00000020 +srlv $a7 00333333 $t0 33333333 $t1 00000008 +srlv $s6 00000001 $s6 cccccccc $t1 0000001f +srlv $s1 00666666 $s6 33333333 $s0 00000007 +srlv $s2 55555555 $a7 55555555 $a5 00000000 +srlv $a7 00000000 $t1 00000000 $t3 00000001 +srlv $s7 00007fff $s3 ffffffff $a5 00000011 +srlv $a5 091a2b3c $s1 12345678 $a1 00000001 +srlv $a4 002468ac $a1 12345678 $s7 00000007 +srlv $a5 00123456 $a3 12345678 $s4 00000008 +srlv $s3 00000000 $t0 33333333 $a3 0000001f +srlv $t3 09abcdef $s7 09abcdef $t0 00000020 +srlv $a1 000009ab $a6 09abcdef $a2 00000010 +srlv $t3 00000000 $t0 00000000 $s1 00000007 +srlv $s2 00000000 $t0 12345678 $s3 0000001f +srlv $s2 0000091a $s7 12345678 $s6 00000011 +srlv $s1 00000000 $s5 00000000 $t2 00000001 +srlv $t0 00000000 $a4 00000000 $s0 00000020 +andi[32] $t3 0000002d $a6 ffffffff, 45 +andi[32] $a5 00000000 $a1 00000000, 1133 +andi[32] $a2 000009a9 $a4 09abcdef, 2489 +andi[32] $s5 0000052f $a7 09abcdef, 1327 +andi[32] $t1 0000088c $t2 cccccccc, 2223 +andi[32] $a0 000000cc $s3 cccccccc, 254 +andi[32] $s7 00000248 $t2 12345678, 591 +andi[32] $t3 00000218 $s3 12345678, 2590 +andi[32] $t1 00000112 $s0 33333333, 1498 +andi[32] $s1 00000d2c $s0 09abcdef, 3900 +andi[32] $a5 00000c0c $t2 cccccccc, 3646 +andi[32] $t1 00000884 $s4 cccccccc, 2454 +andi[32] $a2 00000438 $a3 12345678, 3134 +andi[32] $a6 00000101 $a3 33333333, 393 +andi[32] $a1 00000ef8 $a3 ffffffff, 3832 +andi[32] $s6 00000103 $a7 09abcdef, 787 +andi[32] $s7 000008cc $t3 cccccccc, 2541 +andi[32] $a7 00000024 $s4 ffffffff, 36 +andi[32] $s2 00000100 $a2 55555555, 2432 +andi[32] $a6 00000478 $a0 12345678, 1532 +andi[32] $a3 00000080 $s4 aaaaaaaa, 1413 +andi[32] $s7 00000078 $t3 12345678, 2169 +andi[32] $a2 00000104 $s7 ffffffff, 260 +andi[32] $s7 00000c6e $a4 09abcdef, 3694 +andi[32] $a3 00000a8a $t0 aaaaaaaa, 3019 +andi[32] $s0 000004cb $s4 09abcdef, 1739 +andi[32] $s6 00000000 $s6 aaaaaaaa, 1092 +andi[32] $s6 00000add $a5 ffffffff, 2781 +andi[32] $t2 00000105 $t0 55555555, 2309 +andi[32] $s7 00000410 $a4 12345678, 3094 +andi[16] $a0 00000005 $a0 55555555, 7 +andi[16] $a0 00000004 $a2 cccccccc, 4 +andi[16] $s2 0000000f $a1 09abcdef, 15 +andi[16] $s1 00000000 $s2 55555555, 8 +andi[16] $a0 00000002 $s1 33333333, 2 +andi[16] $s2 00000004 $s1 09abcdef, 4 +andi[16] $a1 00005555 $a1 55555555, 65535 +andi[16] $a2 0000000a $a0 aaaaaaaa, 10 +andi[16] $a0 00000001 $s1 ffffffff, 1 +andi[16] $s3 00000004 $s2 cccccccc, 6 +andi[16] $s3 0000cccc $s0 cccccccc, 65535 +andi[16] $a2 00000000 $s3 cccccccc, 3 +andi[16] $s0 00000008 $a1 cccccccc, 10 +andi[16] $s3 00000008 $s1 09abcdef, 8 +andi[16] $s2 00000008 $a1 cccccccc, 8 +andi[16] $a1 00000000 $a0 55555555, 10 +andi[16] $s2 00000000 $a3 aaaaaaaa, 5 +andi[16] $a2 00000000 $a0 aaaaaaaa, 1 +andi[16] $s0 00000000 $a0 12345678, 6 +andi[16] $s3 00000003 $a3 ffffffff, 3 +andi[16] $s1 00000000 $s3 12345678, 4 +andi[16] $s0 00000002 $s1 33333333, 10 +andi[16] $s2 00000002 $a2 aaaaaaaa, 7 +andi[16] $a2 00000000 $s1 ffffffff, 0 +andi[16] $a1 00000000 $s0 12345678, 3 +andi[16] $s0 00000000 $a1 33333333, 0 +andi[16] $a2 00000001 $a3 09abcdef, 1 +andi[16] $s2 00000008 $a0 cccccccc, 11 +andi[16] $s3 00000003 $a3 09abcdef, 3 +andi[16] $a0 00000000 $s0 12345678, 6 +ori $a6 cccccdec $a1 cccccccc, 1320 +ori $a2 ffffffff $s3 ffffffff, 1295 +ori $s3 55555d7d $s3 55555555, 3112 +ori $s4 00000292 $t3 00000000, 658 +ori $s2 33333733 $s7 33333333, 1024 +ori $a0 333333bf $s1 33333333, 943 +ori $a4 aaaaabbe $a7 aaaaaaaa, 3004 +ori $s3 55555df5 $a5 55555555, 2213 +ori $a6 12345ff8 $t3 12345678, 3480 +ori $a2 00000d1a $s3 00000000, 3354 +ori $s6 555555d7 $s6 55555555, 1430 +ori $s5 ffffffff $a6 ffffffff, 3179 +ori $s6 33333bfb $a1 33333333, 2250 +ori $s2 ffffffff $a0 ffffffff, 2 +ori $a7 1234577b $a0 12345678, 331 +ori $a5 0000012f $s4 00000000, 303 +ori $s3 0000084e $a2 00000000, 2126 +ori $a5 0000035b $s4 00000000, 859 +ori $a6 55555d5d $a6 55555555, 2076 +ori $a4 09abcdef $t3 09abcdef, 3182 +ori $a0 0000074e $t3 00000000, 1870 +ori $s3 0000054f $a6 00000000, 1359 +ori $a6 55555f7d $a2 55555555, 2940 +ori $s6 aaaaafaf $a2 aaaaaaaa, 3341 +ori $t1 aaaaaabe $s3 aaaaaaaa, 2238 +ori $a3 555557df $a7 55555555, 654 +ori $s5 555555f7 $t0 55555555, 1250 +ori $a7 00000c9f $t1 00000000, 3231 +ori $t1 cccccdec $s5 cccccccc, 2400 +ori $t3 09abcdef $a1 09abcdef, 2537 +xori $a3 ccccc095 $s5 cccccccc, 3161 +xori $t0 12345865 $s1 12345678, 3613 +xori $s4 aaaaa0c2 $s2 aaaaaaaa, 2664 +xori $t1 1234548b $s5 12345678, 755 +xori $a1 ccccc2e4 $s0 cccccccc, 3624 +xori $a5 09abc719 $a1 09abcdef, 2806 +xori $s6 09abca06 $a4 09abcdef, 2025 +xori $a5 aaaaa296 $s6 aaaaaaaa, 2108 +xori $s0 ccccc2e8 $a4 cccccccc, 3620 +xori $s5 fffff931 $a4 ffffffff, 1742 +xori $s6 1234503b $a0 12345678, 1603 +xori $a6 1234586b $s0 12345678, 3603 +xori $t0 33333fae $s3 33333333, 3229 +xori $a5 33333aec $a3 33333333, 2527 +xori $s0 fffff056 $s7 ffffffff, 4009 +xori $a1 12345139 $s0 12345678, 1857 +xori $s4 ccccc8d2 $s7 cccccccc, 1054 +xori $t3 33333406 $t2 33333333, 1845 +xori $s3 fffff52a $a2 ffffffff, 2773 +xori $s2 0000001a $t3 00000000, 26 +xori $s3 09abcc03 $s0 09abcdef, 492 +xori $s4 aaaaab4a $a3 aaaaaaaa, 480 +xori $t2 fffff0d7 $a4 ffffffff, 3880 +xori $s4 fffff3fa $s7 ffffffff, 3077 +xori $s3 aaaaaac8 $t3 aaaaaaaa, 98 +xori $s1 00000238 $s3 00000000, 568 +xori $s5 cccccdb3 $a1 cccccccc, 383 +xori $a0 fffffc84 $t2 ffffffff, 891 +xori $t2 09abcaad $t0 09abcdef, 1858 +xori $a0 55555787 $t3 55555555, 722 +rotr $s7 55555555 $a4 55555555, 24 +rotr $s3 33333333 $a4 cccccccc, 6 +rotr $s7 ffffffff $s4 ffffffff, 8 +rotr $s7 ffffffff $t1 ffffffff, 0 +rotr $t2 f37bc26a $t2 09abcdef, 18 +rotr $s0 2468acf0 $a0 12345678, 31 +rotr $t0 ffffffff $t1 ffffffff, 4 +rotr $s0 cdef09ab $s0 09abcdef, 16 +rotr $a4 00000000 $a1 00000000, 11 +rotr $a5 55555555 $a1 55555555, 8 +rotr $s5 ffffffff $a7 ffffffff, 20 +rotr $a4 cccccccc $a6 33333333, 14 +rotr $t0 00000000 $a7 00000000, 5 +rotr $a7 66666666 $s2 33333333, 19 +rotr $s0 00000000 $t1 00000000, 12 +rotr $t1 99999999 $a3 33333333, 25 +rotr $a4 33333333 $a4 cccccccc, 22 +rotr $a5 59e048d1 $s3 12345678, 14 +rotr $t2 55555555 $t3 55555555, 14 +rotr $a5 cccccccc $a2 33333333, 2 +rotr $s1 bcdef09a $t0 09abcdef, 20 +rotr $a7 00000000 $s7 00000000, 15 +rotr $a4 aaaaaaaa $t0 aaaaaaaa, 26 +rotr $s3 55555555 $s0 aaaaaaaa, 15 +rotr $a4 33333333 $s0 cccccccc, 6 +rotr $t3 99999999 $a0 33333333, 1 +rotr $t3 5e6f784d $a7 09abcdef, 21 +rotr $s1 579bde13 $s7 09abcdef, 23 +rotr $s4 55555555 $s2 aaaaaaaa, 19 +rotr $a5 aaaaaaaa $a3 55555555, 25 +sll $s3 aaaaaaa8 $t1 aaaaaaaa, 2 +sll $t1 55540000 $a3 55555555, 18 +sll $s3 00000000 $a7 00000000, 15 +sll $a7 00000000 $a0 00000000, 15 +sll $t3 66660000 $a0 33333333, 17 +sll $s7 00000000 $a7 00000000, 19 +sll $s1 48d159e0 $s3 12345678, 2 +sll $a7 a8000000 $a4 aaaaaaaa, 26 +sll $a2 60000000 $a3 cccccccc, 27 +sll $a6 99800000 $s3 cccccccc, 21 +sll $t2 cccccccc $a1 33333333, 2 +sll $s6 ffe00000 $t1 ffffffff, 21 +sll $t1 12345678 $t1 12345678, 0 +sll $t0 66666600 $a6 33333333, 9 +sll $s2 55555400 $t2 aaaaaaaa, 9 +sll $a3 55555400 $s2 aaaaaaaa, 9 +sll $s5 99999800 $t0 33333333, 11 +sll $t3 ffc00000 $a2 ffffffff, 22 +sll $a3 00000000 $a5 00000000, 9 +sll $a2 e6f78000 $t1 09abcdef, 15 +sll $a6 00000000 $a5 00000000, 14 +sll $a4 7bc00000 $s4 09abcdef, 22 +sll $s2 13579bde $a2 09abcdef, 1 +sll $s4 40000000 $t2 55555555, 30 +sll $a7 fffc0000 $t3 ffffffff, 18 +sll $a1 00000000 $a2 00000000, 24 +sll $a0 55555400 $a4 55555555, 10 +sll $s5 aaaaaa80 $t1 55555555, 7 +sll $s6 30000000 $a2 cccccccc, 26 +sll $a6 00000000 $s4 00000000, 12 +sra $s6 00000024 $a7 12345678, 23 +sra $t2 fffffe66 $a4 cccccccc, 21 +sra $a3 0009abcd $a6 09abcdef, 8 +sra $a1 ffffffff $a0 ffffffff, 25 +sra $t0 ffffffea $a7 aaaaaaaa, 26 +sra $t0 ffffffff $s5 ffffffff, 10 +sra $a7 fffffe66 $s7 cccccccc, 21 +sra $t3 00001555 $a5 55555555, 18 +sra $s5 ffffffff $a4 ffffffff, 23 +sra $a0 00003333 $s2 33333333, 16 +sra $s0 00000000 $a3 00000000, 5 +sra $s7 00000123 $t1 12345678, 20 +sra $t0 12345678 $a2 12345678, 0 +sra $s7 ff555555 $s7 aaaaaaaa, 7 +sra $a2 000ccccc $a4 33333333, 10 +sra $s1 000ccccc $s2 33333333, 10 +sra $a6 ffffffff $s5 ffffffff, 23 +sra $s7 00000000 $a5 09abcdef, 31 +sra $a1 fccccccc $t3 cccccccc, 4 +sra $s1 00000000 $s3 00000000, 21 +sra $s5 0091a2b3 $s6 12345678, 5 +sra $a2 00000003 $s5 33333333, 28 +sra $t1 00000048 $a4 12345678, 22 +sra $s7 ffffffff $t2 ffffffff, 21 +sra $s3 000ccccc $t2 33333333, 10 +sra $t0 00002aaa $a7 55555555, 17 +sra $a7 fffccccc $t3 cccccccc, 12 +sra $s2 ffffffff $s6 ffffffff, 24 +sra $s0 fff33333 $a3 cccccccc, 10 +sra $t0 0004d5e6 $a1 09abcdef, 9 +srl $t1 00000000 $t1 00000000, 24 +srl $t0 00000024 $a5 12345678, 23 +srl $s7 00000aaa $t2 55555555, 19 +srl $a6 19999999 $s0 33333333, 1 +srl $a7 00066666 $a6 cccccccc, 13 +srl $s4 0000000c $s6 cccccccc, 28 +srl $t2 00000000 $s6 09abcdef, 30 +srl $s7 00000000 $a2 00000000, 29 +srl $t3 00199999 $t0 cccccccc, 11 +srl $a1 000aaaaa $a3 aaaaaaaa, 12 +srl $a2 00000000 $s5 00000000, 12 +srl $a1 000ccccc $a4 cccccccc, 12 +srl $a2 03ffffff $a6 ffffffff, 6 +srl $s4 0002aaaa $t3 aaaaaaaa, 14 +srl $s5 00066666 $a2 cccccccc, 13 +srl $a4 00000aaa $a1 55555555, 19 +srl $t1 0026af37 $a3 09abcdef, 6 +srl $t3 2aaaaaaa $s2 55555555, 1 +srl $s7 000000cc $a2 cccccccc, 24 +srl $a7 00000199 $t2 33333333, 21 +srl $a4 00000003 $s1 33333333, 28 +srl $a0 00000002 $a3 aaaaaaaa, 30 +srl $t1 55555555 $s0 aaaaaaaa, 1 +srl $s1 000ccccc $a1 33333333, 10 +srl $t0 00000000 $a3 00000000, 23 +srl $a5 00000000 $t2 00000000, 28 +srl $a1 00033333 $s5 33333333, 12 +srl $a3 00001fff $t0 ffffffff, 19 +srl $t2 00000000 $s1 00000000, 18 +srl $a4 00000000 $a7 00000000, 5 +ext $a7 00005678 $t3 12345678, 0, 17 +ext $a3 00000001 $a6 cccccccc, 14, 1 +ext $t0 00000199 $a4 33333333, 21, 9 +ext $a5 00000002 $a2 cccccccc, 29, 2 +ext $s5 09999999 $s3 cccccccc, 3, 28 +ext $s5 0000007f $s6 ffffffff, 24, 7 +ext $t2 0000002a $t3 55555555, 5, 7 +ext $s2 00000001 $s0 cccccccc, 23, 2 +ext $s3 00000015 $t0 55555555, 12, 6 +ext $t3 00000aaa $s5 aaaaaaaa, 8, 12 +ext $s5 000000aa $a1 55555555, 11, 9 +ext $s6 00000357 $a4 09abcdef, 15, 10 +ext $s1 00000026 $s2 33333333, 23, 6 +ext $t0 00000005 $s2 aaaaaaaa, 13, 4 +ext $a1 00000000 $a5 cccccccc, 20, 2 +ext $a2 008d159e $a7 12345678, 2, 24 +ext $t1 00000002 $s7 33333333, 27, 2 +ext $a1 000002aa $a6 aaaaaaaa, 12, 10 +ext $s0 01abcdef $a2 09abcdef, 0, 26 +ext $s6 00000555 $s4 aaaaaaaa, 21, 11 +ext $s5 0000002a $a3 aaaaaaaa, 26, 6 +ext $s4 00000055 $t1 55555555, 18, 8 +ext $a1 02aaaaaa $s0 55555555, 5, 26 +ext $a1 000000ff $t3 ffffffff, 24, 8 +ext $t3 00000001 $s4 ffffffff, 18, 1 +ext $t3 00000003 $a5 cccccccc, 14, 3 +ext $a7 0000007f $a7 ffffffff, 14, 7 +ext $s0 00000000 $s2 09abcdef, 30, 1 +ext $a6 00000000 $s7 00000000, 28, 2 +ext $a0 00000000 $s5 00000000, 17, 13 +ins $a7 cccccccc old $a7 cccccccc $s0 ffffffff, 7, 1 +ins $t0 09d5556f old $t0 09abcdef $a4 55555555, 6, 17 +ins $t2 33300000 old $t2 00000000 $a0 33333333, 20, 11 +ins $t3 13305678 old $t3 12345678 $s7 cccccccc, 18, 8 +ins $s1 09abcdef old $s1 09abcdef $a7 aaaaaaaa, 31, 1 +ins $s4 ccd55555 old $s4 cccccccc $s3 55555555, 0, 21 +ins $t0 2a800000 old $t0 00000000 $a4 aaaaaaaa, 22, 9 +ins $s1 123c5678 old $s1 12345678 $a4 cccccccc, 16, 4 +ins $s7 12345678 old $s7 12345678 $a7 cccccccc, 8, 1 +ins $a0 00000000 old $a0 00000000 $a6 aaaaaaaa, 29, 1 +ins $t0 12345e78 old $t0 12345678 $a5 ffffffff, 11, 1 +ins $a5 71555555 old $a5 55555555 $a7 cccccccc, 26, 4 +ins $a3 cd5ccccc old $a3 cccccccc $a7 55555555, 20, 7 +ins $s5 ffffd5ff old $s5 ffffffff $t3 aaaaaaaa, 9, 6 +ins $s3 33355533 old $s3 33333333 $a5 aaaaaaaa, 9, 10 +ins $s3 57ffd555 old $s3 55555555 $a1 ffffffff, 14, 13 +ins $s0 cdcccccc old $s0 cccccccc $t3 55555555, 24, 1 +ins $t3 ffffffff old $t3 09abcdef $t3 ffffffff, 29, 1 +ins $t3 09a00def old $t3 09abcdef $s2 00000000, 13, 7 +ins $a6 23456788 old $a6 12345678 $s5 12345678, 4, 28 +ins $a7 332b3333 old $a7 33333333 $s7 55555555, 17, 5 +ins $a0 ccce64cc old $a0 cccccccc $a1 cccccccc, 11, 7 +ins $s1 4ccccccc old $s1 00000000 $a7 cccccccc, 0, 31 +ins $s1 00000000 old $s1 00000000 $a7 00000000, 23, 3 +ins $a1 09abcdef old $a1 09abcdef $s2 09abcdef, 0, 4 +ins $a6 ab56aaaa old $a6 aaaaaaaa $t0 55555555, 18, 7 +ins $a4 cccccccc old $a4 cccccccc $a6 ffffffff, 23, 1 +ins $a2 09a3cdef old $a2 09abcdef $s1 12345678, 18, 4 +ins $a4 12346678 old $a4 12345678 $a7 cccccccc, 11, 3 +ins $a7 000aaaa8 old $a7 00000000 $s4 55555555, 3, 17 +ins $a5 00000000 old $a5 00000000 $a5 00000000, 19, 8 +ins $s4 33333f33 old $s4 33333333 $t3 ffffffff, 8, 5 +ins $s6 ffffffff old $s6 ffffffff $s6 ffffffff, 21, 10 +ins $a1 123bd678 old $a1 12345678 $a5 09abcdef, 14, 8 +ins $t1 16645678 old $t1 12345678 $a1 cccccccc, 19, 8 +ins $s2 b0aaaaaa old $s2 aaaaaaaa $s5 12345678, 25, 4 +ins $s1 12345678 old $s1 12345678 $s2 cccccccc, 15, 2 +ins $t1 caaccccc old $t1 cccccccc $a1 55555555, 19, 10 +ins $t1 a95552aa old $t1 aaaaaaaa $t0 aaaaaaaa, 11, 15 +ins $a1 aaaaaaaa old $a1 aaaaaaaa $s5 aaaaaaaa, 14, 16 +extw $s4 55555504 $a4 09abcdef $s4 aaaaaaaa, 25 +extw $a6 fffe6666 $s4 33333333 $s3 ffffffff, 15 +extw $t2 813579bd $s3 09abcdef $a0 cccccccc, 3 +extw $a5 8acf0246 $a3 cccccccc $a3 12345678, 19 +extw $s3 15555555 $s7 55555555 $a4 12345678, 2 +extw $s5 7fffffff $a7 ffffffff $s7 55555555, 2 +extw $a7 66666666 $a0 55555555 $s2 33333333, 31 +extw $s1 78555555 $s7 55555555 $s6 12345678, 8 +extw $s1 66666666 $s0 cccccccc $s7 cccccccc, 25 +extw $a4 06666666 $a4 33333333 $a5 12345678, 3 +extw $t2 ffffe666 $s4 cccccccc $a6 ffffffff, 17 +extw $s3 37bf3333 $t0 cccccccc $a1 09abcdef, 14 +extw $s1 aaaaa135 $t0 09abcdef $t1 55555555, 19 +extw $s7 cc555555 $a0 55555555 $t3 cccccccc, 8 +extw $a0 ffffffff $a1 ffffffff $t0 ffffffff, 11 +extw $a4 cccaaaaa $s3 aaaaaaaa $a7 cccccccc, 12 +extw $a4 cccccccc $a0 cccccccc $s5 55555555, 0 +extw $a7 468acf00 $s7 00000000 $s0 12345678, 27 +extw $t0 000009ab $a6 09abcdef $t3 00000000, 16 +extw $a0 30cccccc $s0 33333333 $t1 cccccccc, 6 +extw $a3 33155555 $s2 55555555 $a1 cccccccc, 10 +extw $a7 2b3c0000 $s1 00000000 $a3 12345678, 17 +extw $a4 55540000 $a6 00000000 $t0 55555555, 14 +extw $a3 91a2b3c0 $s2 12345678 $s4 12345678, 29 +extw $s2 aaab5555 $s2 aaaaaaaa $s1 55555555, 15 +extw $s1 cccccccc $a2 09abcdef $a5 33333333, 30 +extw $s5 55500000 $s3 00000000 $t3 aaaaaaaa, 13 +extw $t1 ccffffff $t3 ffffffff $s7 33333333, 10 +extw $a0 59e0cccc $t3 33333333 $s0 12345678, 14 +extw $a5 00000155 $t0 aaaaaaaa $s0 00000000, 23 +extw $a2 00000005 $t1 aaaaaaaa $s1 00000000, 29 +extw $s1 55555550 $a6 00000000 $a5 55555555, 28 +extw $s1 cccccccc $a4 cccccccc $a0 cccccccc, 28 +extw $s7 84d5e6f7 $s1 09abcdef $a7 55555555, 1 +extw $s6 d159e155 $s3 55555555 $a2 12345678, 22 +extw $a1 55555555 $s4 55555555 $a7 aaaaaaaa, 0 +extw $t0 333fffff $s4 ffffffff $s6 33333333, 12 +extw $s5 af37bf33 $s6 cccccccc $a4 09abcdef, 22 +extw $s5 66666666 $t2 cccccccc $a3 cccccccc, 29 +extw $a6 f0666666 $t3 33333333 $s5 12345678, 7 diff --git a/none/tests/nanomips/bits.vgtest b/none/tests/nanomips/bits.vgtest new file mode 100644 index 0000000000..68fb07be02 --- /dev/null +++ b/none/tests/nanomips/bits.vgtest @@ -0,0 +1,2 @@ +prog: bits +vgopts: -q \ No newline at end of file diff --git a/none/tests/nanomips/branches.c b/none/tests/nanomips/branches.c new file mode 100644 index 0000000000..1723402bf1 --- /dev/null +++ b/none/tests/nanomips/branches.c @@ -0,0 +1,727 @@ +#include + +#define TESTINST1(RSval, RD) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RD ", %1\n\t" \ + "bc end1"#RSval"\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "end1"#RSval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RD, "memory" \ + ); \ + printf("BC :: %d, RSval: %d\n", \ + out, RSval); \ +} + +#define TESTINST2(RSval, RD) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RD ", %1\n\t" \ + "bc end2"#RSval"\n\t" \ + "addiu $" #RD ", $" #RD", 3\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "end2"#RSval":\n\t" \ + "addiu $" #RD ", $" #RD", 3\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RD, "memory" \ + ); \ + printf("bc :: %d, RSval: %d\n", \ + out, RSval); \ +} + +#define TESTINST3(RSval, RD) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RD ", %1\n\t" \ + "balc end3"#RSval"\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "bc r_end3"#RSval"\n\t" \ + "end3"#RSval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "jrc $ra\n\t" \ + "r_end3"#RSval":\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RD, "memory" \ + ); \ + printf("bc balc jrc :: %d, RSval: %d\n", \ + out, RSval); \ +} + + +#define TESTINST3j(RSval, RD) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RD ", %1\n\t" \ + "la $t0, end3j"#RSval"\n\t" \ + "jalrc $t1, $t0\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "la $t0, r_end3j"#RSval"\n\t" \ + "jrc $t0\n\t" \ + "end3j"#RSval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "jrc $t1\n\t" \ + "r_end3j"#RSval":\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RD, "t0", "t1", "memory" \ + ); \ + printf("jalrc jrc :: %d, RSval: %d\n", \ + out, RSval); \ +} + + +#define TESTINST3b(RSval, RS, RT) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $t0, %1\n\t" \ + "li $" #RS", 5\n\t" \ + "balrsc $" #RT ", $" #RS "\n\t" \ + "addiu[32] $t0, $t0, 5\n\t" \ + "la $t1, end3b"#RSval"\n\t" \ + "jrc $t1 \n\t" \ + "jrc $" #RT " \n\t"\ + "end3b"#RSval":\n\t" \ + "addiu $t0, $t0, 1\n\t" \ + "move %0, $t0\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RS, #RT, "t0", "memory" \ + ); \ + printf("balrsc :: %d, RSval: %d\n", \ + out, RSval); \ +} + + +#define TESTINST4(instruction, RDval, RSval, RTval, RD, RS, RT) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RS ", %1\n\t" \ + "move $" #RT ", %2\n\t" \ + "move $" #RD ", %3\n\t" \ + instruction" $" #RS ", $" #RT ", end"instruction#RDval"\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "end"instruction#RDval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval), "r" (RTval), "r" (RDval) \ + : #RD, #RS, #RT, "memory" \ + ); \ + printf(instruction" :: %d, RSval: %d, RTval: %d\n", \ + out, RSval, RTval); \ +} + +#define TESTINST5(instruction, RDval, RSval, RD, RS) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RS ", %1\n\t" \ + "move $" #RD ", %2\n\t" \ + instruction" $" #RS ", end"instruction#RDval"\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "end"instruction#RDval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval), "r" (RDval) \ + : #RD, #RS, "memory" \ + ); \ + printf(instruction" :: %d, RSval: %d\n", \ + out, RSval); \ +} + +#define TESTINST5i(instruction, RDval, RSval, immVal, RD, RS) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RS ", %1\n\t" \ + "move $" #RD ", %2\n\t" \ + instruction" $" #RS "," #immVal ", end"instruction#RDval"\n\t" \ + "addiu $" #RD ", $" #RD", 5\n\t" \ + "end"instruction#RDval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval), "r" (RDval) \ + : #RD, #RS, "memory" \ + ); \ + printf(instruction" :: %d, RSval: %d\n", \ + out, RSval); \ +} + +#define TESTINST6(RSval, RD) \ +{ \ + unsigned int out = 0; \ + __asm__ volatile( \ + ".set push \n\t" \ + ".set noreorder \n\t" \ + "move $" #RD ", %1\n\t" \ + "move $t0, $" #RD "\n\t" \ + "addiu $t1, $zero, -7\n\t" \ + "end60"#RSval":\n\t" \ + "beqzc $t0, end6"#RSval"\n\t" \ + "addiu $t0, $t0, -1 \n\t" \ + "addiu[32] $" #RD ", $" #RD", 5\n\t" \ + "brsc $t1\n\t" \ + "bc end60"#RSval" \n\t"\ + "end6"#RSval":\n\t" \ + "addiu $" #RD ", $" #RD", 1\n\t" \ + "move %0, $" #RD "\n\t" \ + ".set pop \n\t" \ + : "=&r" (out) \ + : "r" (RSval) \ + : #RD, "t0", "t1", "memory" \ + ); \ + printf("brsc :: %d, RSval: %d\n", \ + out, RSval); \ +} + +int main() +{ + printf("---bc---\n"); + TESTINST1(0, t4); + TESTINST1(1, t5); + TESTINST1(2, a0); + TESTINST1(3, a1); + TESTINST1(4, a2); + TESTINST1(5, a3); + TESTINST1(6, a4); + TESTINST1(7, a5); + TESTINST1(8, a6); + TESTINST1(9, a7); + TESTINST1(10, t0); + TESTINST1(11, t1); + TESTINST1(12, t2); + TESTINST1(13, t3); + TESTINST1(14, s0); + TESTINST1(15, s1); + TESTINST1(16, s2); + TESTINST1(17, s3); + TESTINST1(18, s4); + TESTINST1(19, s5); + TESTINST1(20, s6); + TESTINST1(21, s7); + TESTINST1(22, t8); + TESTINST1(23, t9); + + printf("---bc---\n"); + TESTINST2(0, t4); + TESTINST2(1, t5); + TESTINST2(2, a0); + TESTINST2(3, a1); + TESTINST2(4, a2); + TESTINST2(5, a3); + TESTINST2(6, a4); + TESTINST2(7, a5); + TESTINST2(8, a6); + TESTINST2(9, a7); + TESTINST2(10, t0); + TESTINST2(11, t1); + TESTINST2(12, t2); + TESTINST2(13, t3); + TESTINST2(14, s0); + TESTINST2(15, s1); + TESTINST2(16, s2); + TESTINST2(17, s3); + TESTINST2(18, s4); + TESTINST2(19, s5); + TESTINST2(20, s6); + TESTINST2(21, s7); + TESTINST2(22, t8); + TESTINST2(23, t9); + + printf("---bc, balc, jrc---\n"); + TESTINST3(0, t4); + TESTINST3(1, t5); + TESTINST3(2, a0); + TESTINST3(3, a1); + TESTINST3(4, a2); + TESTINST3(5, a3); + TESTINST3(6, a4); + TESTINST3(7, a5); + TESTINST3(8, a6); + TESTINST3(9, a7); + TESTINST3(10, t0); + TESTINST3(11, t1); + TESTINST3(12, t2); + TESTINST3(13, t3); + TESTINST3(14, s0); + TESTINST3(15, s1); + TESTINST3(16, s2); + TESTINST3(17, s3); + TESTINST3(18, s4); + TESTINST3(19, s5); + TESTINST3(20, s6); + TESTINST3(21, s7); + TESTINST3(22, t8); + TESTINST3(23, t9); + + printf("---balrsc---\n"); + TESTINST3b(0, t4, t5); + TESTINST3b(1, t5, a0); + TESTINST3b(2, a0, a1); + TESTINST3b(3, a1, a2); + TESTINST3b(4, a2, a3); + TESTINST3b(5, a3, a4); + TESTINST3b(6, a4, a5); + TESTINST3b(7, a5, a6); + TESTINST3b(8, a6, a7); + TESTINST3b(9, a7, t2); + TESTINST3b(10, t2, t3); + TESTINST3b(11, t3, s0); + TESTINST3b(12, s0, s1); + TESTINST3b(13, s1, s2); + TESTINST3b(14, s2, s3); + TESTINST3b(15, s3, s4); + TESTINST3b(16, s4, s5); + TESTINST3b(17, s5, s6); + TESTINST3b(18, s6, s7); + TESTINST3b(19, s7, t8); + TESTINST3b(20, t8, t9); + TESTINST3b(21, t9, t4); + + printf("---bbeqzc---\n"); + TESTINST5i("bbeqzc", 0, 0, 0, t4, t5); + TESTINST5i("bbeqzc", 1, 1, 1, t5, a0); + TESTINST5i("bbeqzc", 2, 0xFFFF, 5, a0, a1); + TESTINST5i("bbeqzc", 3, 0xFFCF, 5, a1, a2); + TESTINST5i("bbeqzc", 4, 0xFFFF0000, 16 , a2, a3); + TESTINST5i("bbeqzc", 5, 0xFFFC0000, 16, a3, t4); + TESTINST5i("bbeqzc", 6, 0x0, 30, a4, a5); + TESTINST5i("bbeqzc", 7, 0xF0000000, 30, a6, a7); + TESTINST5i("bbeqzc", 8, 125, 8, t0, t1); + TESTINST5i("bbeqzc", 9, 125, 9, t1, t2); + TESTINST5i("bbeqzc", 10, 0xFFFFFFFF, 0x10, t2, t3); + TESTINST5i("bbeqzc", 11, 0xFFFFFFFF, 0x15, t3, t4); + TESTINST5i("bbeqzc", 12, 0x55, 2, t4, t5); + TESTINST5i("bbeqzc", 13, 0x10, 3, t5, s0); + TESTINST5i("bbeqzc", 14, -1, 0, s0, s1); + TESTINST5i("bbeqzc", 15, -1, 5, s1, s2); + + printf("---bbnezc---\n"); + TESTINST5i("bbnezc", 0, 0, 0, t4, t5); + TESTINST5i("bbnezc", 1, 1, 1, t5, a0); + TESTINST5i("bbnezc", 2, 0xFFFF, 5, a0, a1); + TESTINST5i("bbnezc", 3, 0xFFCF, 5, a1, a2); + TESTINST5i("bbnezc", 4, 0xFFFF0000, 16 , a2, a3); + TESTINST5i("bbnezc", 5, 0xFFFC0000, 16, a3, t4); + TESTINST5i("bbnezc", 6, 0x0, 30, a4, a5); + TESTINST5i("bbnezc", 7, 0xF0000000, 30, a6, a7); + TESTINST5i("bbnezc", 8, 125, 8, t0, t1); + TESTINST5i("bbnezc", 9, 125, 9, t1, t2); + TESTINST5i("bbnezc", 10, 0xFFFFFFFF, 0x10, t2, t3); + TESTINST5i("bbnezc", 11, 0xFFFFFFFF, 0x15, t3, t4); + TESTINST5i("bbnezc", 12, 0x55, 2, t4, t5); + TESTINST5i("bbnezc", 13, 0x10, 3, t5, s0); + TESTINST5i("bbnezc", 14, -1, 0, s0, s1); + TESTINST5i("bbnezc", 15, -1, 5, s1, s2); + + printf("---jalrc jrc---\n"); + TESTINST3j(0, t4); + TESTINST3j(1, t5); + TESTINST3j(2, a0); + TESTINST3j(3, a1); + TESTINST3j(4, a2); + TESTINST3j(5, a3); + TESTINST3j(6, a4); + TESTINST3j(7, a5); + TESTINST3j(8, a6); + TESTINST3j(9, a7); + TESTINST3j(10, a0); + TESTINST3j(11, a1); + TESTINST3j(12, t2); + TESTINST3j(13, t3); + TESTINST3j(14, s0); + TESTINST3j(15, s1); + TESTINST3j(16, s2); + TESTINST3j(17, s3); + TESTINST3j(18, s4); + TESTINST3j(19, s5); + TESTINST3j(20, s6); + TESTINST3j(21, s7); + TESTINST3j(22, t8); + TESTINST3j(23, t9); + + printf("---beqc---\n"); + TESTINST4("beqc", 0, 0, 1, t4, t5, a0); + TESTINST4("beqc", 1, 1, 1, t5, a0, a1); + TESTINST4("beqc", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("beqc", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("beqc", 4, 0xfffffffe, 0xffffffff, a2, a3, a4); + TESTINST4("beqc", 5, 0xffffffff, 0xffffffff, a3, a4, a5); + TESTINST4("beqc", 6, 0x5, 0x5, a4, a5, a6); + TESTINST4("beqc", 7, -3, -4, a5, a6, a7); + TESTINST4("beqc", 8, 125, 125, a6, a7, t0); + TESTINST4("beqc", 9, 0x80000000, 0x80000000, t0, t1, t2); + TESTINST4("beqc", 10, 0xffffffff, 0x80000000, t1, t2, t3); + TESTINST4("beqc", 11, 0x256, 0x256, t4, t5, t8); + TESTINST4("beqc", 12, 0x55, 0x55, t5, t8, t9); + TESTINST4("beqc", 13, 0xfff, 0xdd, t8, t9, s0); + TESTINST4("beqc", 14, -1, 0x5, t9, s0, s1); + TESTINST4("beqc", 15, -1, -1, s0, s1, s2); + + printf("---beqic---\n"); + TESTINST5i("beqic", 0, 0, 0, t4, t5); + TESTINST5i("beqic", 1, 1, 1, t5, a0); + TESTINST5i("beqic", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("beqic", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("beqic", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("beqic", 5, 0x70, 0x71, a3, t4); + TESTINST5i("beqic", 6, 0x5,0x4, a4, a5); + TESTINST5i("beqic", 7, -3, 0x7E, a6, a7); + TESTINST5i("beqic", 8, 125, 124, t0, t1); + TESTINST5i("beqic", 9, 0x0, 0x1, t1, t2); + TESTINST5i("beqic", 10, 0xf, 0x10, t2, t3); + TESTINST5i("beqic", 11, 0x26, 0x25, t3, t4); + TESTINST5i("beqic", 12, 0x55, 0x54, t4, t5); + TESTINST5i("beqic", 13, 0x10, 0xf, t5, s0); + TESTINST5i("beqic", 14, -1, 0, s0, s1); + TESTINST5i("beqic", 15, -1, 0x7E, s1, s2); + + printf("---beqzc---\n"); + TESTINST5("beqzc", 0, 0, t4, t5); + TESTINST5("beqzc", 1, 1, t5, a0); + TESTINST5("beqzc", 2, 0xffffffff, a0, a1); + TESTINST5("beqzc", 3, 0xffffffff, a1, a2); + TESTINST5("beqzc", 4, 0xfffffffe, a2, a3); + TESTINST5("beqzc", 5, 0xffffffff, a3, t4); + TESTINST5("beqzc", 6, 0x5, a4, a5); + TESTINST5("beqzc", 7, -3, a6, a7); + TESTINST5("beqzc", 8, 125, t0, t1); + TESTINST5("beqzc", 9, 0x80000000, t1, t2); + TESTINST5("beqzc", 10, 0xffffffff, t2, t3); + TESTINST5("beqzc", 11, 0x256, t3, t4); + TESTINST5("beqzc", 12, 0x55, t4, t5); + TESTINST5("beqzc", 13, 0xfff, t5, s0); + TESTINST5("beqzc", 14, -1, s0, s1); + TESTINST5("beqzc", 15, -1, s1, s2); + + printf("---bgec---\n"); + TESTINST4("bgec", 0, 0, 1, t4, t5, a0); + TESTINST4("bgec", 1, 1, 1, t5, a0, a1); + TESTINST4("bgec", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("bgec", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("bgec", 4, 0xfffffffe, 0xffffffff, a2, t0, t1); + TESTINST4("bgec", 5, 0xffffffff, 0xffffffff, a3, t0, t1); + TESTINST4("bgec", 6, 0x5, 0x5, t0, t1, t2); + TESTINST4("bgec", 7, -3, -4, t1, t2, t3); + TESTINST4("bgec", 8, 125, 125, t2, t3, t4); + TESTINST4("bgec", 9, 0x80000000, 0x80000000, t3, t4, t5); + TESTINST4("bgec", 10, 0xffffffff, 0x80000000, t4, t5, a5); + TESTINST4("bgec", 11, 0x256, 0x256, t5, a5, a6); + TESTINST4("bgec", 12, 0x55, 0x55, a5, a6, s0); + TESTINST4("bgec", 13, 0xfff, 0xdd, s0, s1, s2); + TESTINST4("bgec", 14, -1, 0x5, t4, t9, t8); + TESTINST4("bgec", 15, -1, -1, t9, t8, a3); + + printf("---bgeic---\n"); + TESTINST5i("bgeic", 0, 0, 0, t4, t5); + TESTINST5i("bgeic", 1, 1, 1, t5, a0); + TESTINST5i("bgeic", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("bgeic", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("bgeic", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("bgeic", 5, 0x70, 0x71, a3, t4); + TESTINST5i("bgeic", 6, 0x5,0x4, a4, a5); + TESTINST5i("bgeic", 7, -3, 0x7E, a6, a7); + TESTINST5i("bgeic", 8, 125, 124, t0, t1); + TESTINST5i("bgeic", 9, 0x0, 0x1, t1, t2); + TESTINST5i("bgeic", 10, 0xf, 0x10, t2, t3); + TESTINST5i("bgeic", 11, 0x26, 0x25, t3, t4); + TESTINST5i("bgeic", 12, 0x55, 0x54, t4, t5); + TESTINST5i("bgeic", 13, 0x10, 0xf, t5, s0); + TESTINST5i("bgeic", 14, -1, 0, s0, s1); + TESTINST5i("bgeic", 15, -1, 0x7E, s1, s2); + + printf("---bgeiuc---\n"); + TESTINST5i("bgeiuc", 0, 0, 0, t4, t5); + TESTINST5i("bgeiuc", 1, 1, 1, t5, a0); + TESTINST5i("bgeiuc", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("bgeiuc", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("bgeiuc", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("bgeiuc", 5, 0x70, 0x71, a3, t4); + TESTINST5i("bgeiuc", 6, 0x5,0x4, a4, a5); + TESTINST5i("bgeiuc", 7, -3, 0x7E, a6, a7); + TESTINST5i("bgeiuc", 8, 125, 124, t0, t1); + TESTINST5i("bgeiuc", 9, 0x0, 0x1, t1, t2); + TESTINST5i("bgeiuc", 10, 0xf, 0x10, t2, t3); + TESTINST5i("bgeiuc", 11, 0x26, 0x25, t3, t4); + TESTINST5i("bgeiuc", 12, 0x55, 0x54, t4, t5); + TESTINST5i("bgeiuc", 13, 0x10, 0xf, t5, s0); + TESTINST5i("bgeiuc", 14, -1, 0, s0, s1); + TESTINST5i("bgeiuc", 15, -1, 0x7E, s1, s2); + + printf("---bgeuc---\n"); + TESTINST4("bgeuc", 0, 0, 1, t4, t5, a0); + TESTINST4("bgeuc", 1, 1, 1, t5, a0, a1); + TESTINST4("bgeuc", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("bgeuc", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("bgeuc", 4, 0xfffffffe, 0xffffffff, a2, t0, t1); + TESTINST4("bgeuc", 5, 0xffffffff, 0xffffffff, a3, t0, t1); + TESTINST4("bgeuc", 6, 0x5, 0x5, t0, t1, t2); + TESTINST4("bgeuc", 7, -3, -4, t1, t2, t3); + TESTINST4("bgeuc", 8, 125, 125, t2, t3, t4); + TESTINST4("bgeuc", 9, 0x80000000, 0x80000000, t3, t4, t5); + TESTINST4("bgeuc", 10, 0xffffffff, 0x80000000, t4, t5, a5); + TESTINST4("bgeuc", 11, 0x256, 0x256, t5, a5, a6); + TESTINST4("bgeuc", 12, 0x55, 0x55, a5, a6, s0); + TESTINST4("bgeuc", 13, 0xfff, 0xdd, s0, s1, s2); + TESTINST4("bgeuc", 14, -1, 0x5, t4, t9, t8); + TESTINST4("bgeuc", 15, -1, -1, t9, t8, a3); + + printf("---bltc---\n"); + TESTINST4("bltc", 0, 0, 1, t4, t5, a0); + TESTINST4("bltc", 1, 1, 1, t5, a0, a1); + TESTINST4("bltc", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("bltc", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("bltc", 4, 0xfffffffe, 0xffffffff, a2, t0, t1); + TESTINST4("bltc", 5, 0xffffffff, 0xffffffff, a3, t0, t1); + TESTINST4("bltc", 6, 0x5, 0x5, t0, t1, t2); + TESTINST4("bltc", 7, -3, -4, t1, t2, t3); + TESTINST4("bltc", 8, 125, 125, t2, t3, t4); + TESTINST4("bltc", 9, 0x80000000, 0x80000000, t3, t4, t5); + TESTINST4("bltc", 10, 0xffffffff, 0x80000000, t4, t5, a5); + TESTINST4("bltc", 11, 0x256, 0x256, t5, a5, a6); + TESTINST4("bltc", 12, 0x55, 0x55, a5, a6, s0); + TESTINST4("bltc", 13, 0xfff, 0xdd, s0, s1, s2); + TESTINST4("bltc", 14, -1, 0x5, t4, t9, t8); + TESTINST4("bltc", 15, -1, -1, t9, t8, a3); + + printf("---bltic---\n"); + TESTINST5i("bltic", 0, 0, 0, t4, t5); + TESTINST5i("bltic", 1, 1, 1, t5, a0); + TESTINST5i("bltic", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("bltic", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("bltic", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("bltic", 5, 0x70, 0x71, a3, t4); + TESTINST5i("bltic", 6, 0x5,0x4, a4, a5); + TESTINST5i("bltic", 7, -3, 0x7E, a6, a7); + TESTINST5i("bltic", 8, 125, 124, t0, t1); + TESTINST5i("bltic", 9, 0x0, 0x1, t1, t2); + TESTINST5i("bltic", 10, 0xf, 0x10, t2, t3); + TESTINST5i("bltic", 11, 0x26, 0x25, t3, t4); + TESTINST5i("bltic", 12, 0x55, 0x54, t4, t5); + TESTINST5i("bltic", 13, 0x10, 0xf, t5, s0); + TESTINST5i("bltic", 14, -1, 0, s0, s1); + TESTINST5i("bltic", 15, -1, 0x7E, s1, s2); + + printf("---bltiuc---\n"); + TESTINST5i("bltiuc", 0, 0, 0, t4, t5); + TESTINST5i("bltiuc", 1, 1, 1, t5, a0); + TESTINST5i("bltiuc", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("bltiuc", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("bltiuc", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("bltiuc", 5, 0x70, 0x71, a3, t4); + TESTINST5i("bltiuc", 6, 0x5,0x4, a4, a5); + TESTINST5i("bltiuc", 7, -3, 0x7E, a6, a7); + TESTINST5i("bltiuc", 8, 125, 124, t0, t1); + TESTINST5i("bltiuc", 9, 0x0, 0x1, t1, t2); + TESTINST5i("bltiuc", 10, 0xf, 0x10, t2, t3); + TESTINST5i("bltiuc", 11, 0x26, 0x25, t3, t4); + TESTINST5i("bltiuc", 12, 0x55, 0x54, t4, t5); + TESTINST5i("bltiuc", 13, 0x10, 0xf, t5, s0); + TESTINST5i("bltiuc", 14, -1, 0, s0, s1); + TESTINST5i("bltiuc", 15, -1, 0x7E, s1, s2); + + printf("---bltuc---\n"); + TESTINST4("bltuc", 0, 0, 1, t4, t5, a0); + TESTINST4("bltuc", 1, 1, 1, t5, a0, a1); + TESTINST4("bltuc", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("bltuc", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("bltuc", 4, 0xfffffffe, 0xffffffff, a2, t0, t1); + TESTINST4("bltuc", 5, 0xffffffff, 0xffffffff, a3, t0, t1); + TESTINST4("bltuc", 6, 0x5, 0x5, t0, t1, t2); + TESTINST4("bltuc", 7, -3, -4, t1, t2, t3); + TESTINST4("bltuc", 8, 125, 125, t2, t3, t4); + TESTINST4("bltuc", 9, 0x80000000, 0x80000000, t3, t4, t5); + TESTINST4("bltuc", 10, 0xffffffff, 0x80000000, t4, t5, a5); + TESTINST4("bltuc", 11, 0x256, 0x256, t5, a5, a6); + TESTINST4("bltuc", 12, 0x55, 0x55, a5, a6, s0); + TESTINST4("bltuc", 13, 0xfff, 0xdd, s0, s1, s2); + TESTINST4("bltuc", 14, -1, 0x5, t4, t9, t8); + TESTINST4("bltuc", 15, -1, -1, t9, t8, a3); + + printf("---bnec---\n"); + TESTINST4("bnec", 0, 0, 1, t4, t5, a0); + TESTINST4("bnec", 1, 1, 1, t5, a0, a1); + TESTINST4("bnec", 2, 0xffffffff, 0xffffffff, a0, a1, a2); + TESTINST4("bnec", 3, 0xffffffff, 0xfffffffe, a1, a2, a3); + TESTINST4("bnec", 4, 0xfffffffe, 0xffffffff, a2, a3, a4); + TESTINST4("bnec", 5, 0xffffffff, 0xffffffff, a3, a4, a5); + TESTINST4("bnec", 6, 0x5, 0x5, a4, a5, a6); + TESTINST4("bnec", 7, -3, -4, a5, a6, a7); + TESTINST4("bnec", 8, 125, 125, a6, a7, t0); + TESTINST4("bnec", 9, 0x80000000, 0x80000000, t0, t1, t2); + TESTINST4("bnec", 10, 0xffffffff, 0x80000000, t1, t2, t3); + TESTINST4("bnec", 11, 0x256, 0x256, t4, t5, t8); + TESTINST4("bnec", 12, 0x55, 0x55, t5, t8, t9); + TESTINST4("bnec", 13, 0xfff, 0xdd, t8, t9, s0); + TESTINST4("bnec", 14, -1, 0x5, t9, s0, s1); + TESTINST4("bnec", 15, -1, -1, s0, s1, s2); + + printf("---bneic---\n"); + TESTINST5i("bneic", 0, 0, 0, t4, t5); + TESTINST5i("bneic", 1, 1, 1, t5, a0); + TESTINST5i("bneic", 2, 0x7f, 0x7f, a0, a1); + TESTINST5i("bneic", 3, 0x7f, 0x7e, a1, a2); + TESTINST5i("bneic", 4, 0x7e, 0x7f, a2, a3); + TESTINST5i("bneic", 5, 0x70, 0x71, a3, t4); + TESTINST5i("bneic", 6, 0x5,0x4, a4, a5); + TESTINST5i("bneic", 7, -3, 0x7E, a6, a7); + TESTINST5i("bneic", 8, 125, 124, t0, t1); + TESTINST5i("bneic", 9, 0x0, 0x1, t1, t2); + TESTINST5i("bneic", 10, 0xf, 0x10, t2, t3); + TESTINST5i("bneic", 11, 0x26, 0x25, t3, t4); + TESTINST5i("bneic", 12, 0x55, 0x54, t4, t5); + TESTINST5i("bneic", 13, 0x10, 0xf, t5, s0); + TESTINST5i("bneic", 14, -1, 0, s0, s1); + TESTINST5i("bneic", 15, -1, 0x7E, s1, s2); + + printf("---bnezc---\n"); + TESTINST5("bnezc", 0, 0, t4, t5); + TESTINST5("bnezc", 1, 1, t5, a0); + TESTINST5("bnezc", 2, 0xffffffff, a0, a1); + TESTINST5("bnezc", 3, 0xffffffff, a1, a2); + TESTINST5("bnezc", 4, 0xfffffffe, a2, a3); + TESTINST5("bnezc", 5, 0xffffffff, a3, t4); + TESTINST5("bnezc", 6, 0x5, a4, a5); + TESTINST5("bnezc", 7, -3, a6, a7); + TESTINST5("bnezc", 8, 125, t0, t1); + TESTINST5("bnezc", 9, 0x80000000, t1, t2); + TESTINST5("bnezc", 10, 0xffffffff, t2, t3); + TESTINST5("bnezc", 11, 0x256, t3, t4); + TESTINST5("bnezc", 12, 0x55, t4, t5); + TESTINST5("bnezc", 13, 0xfff, t5, s0); + TESTINST5("bnezc", 14, -1, s0, s1); + TESTINST5("bnezc", 15, -1, s1, s2); + + printf("---brsc---\n"); + TESTINST6(0, a0); + TESTINST6(1, a1); + TESTINST6(2, a2); + TESTINST6(3, a3); + TESTINST6(4, a4); + TESTINST6(5, a5); + TESTINST6(6, a6); + TESTINST6(7, a7); + TESTINST6(8, t4); + TESTINST6(9, t5); + TESTINST6(10, s0); + TESTINST6(11, s1); + TESTINST6(12, s2); + TESTINST6(13, s3); + TESTINST6(14, t2); + TESTINST6(15, t3); + + printf("---bgezc---\n"); + TESTINST5("bgezc", 0, 0, t4, t5); + TESTINST5("bgezc", 1, 1, t5, a0); + TESTINST5("bgezc", 2, 0xffffffff, a0, a1); + TESTINST5("bgezc", 3, 0xffffffff, a1, a2); + TESTINST5("bgezc", 4, 0xfffffffe, a2, a3); + TESTINST5("bgezc", 5, 0xffffffff, a3, t4); + TESTINST5("bgezc", 6, 0x5, a4, a5); + TESTINST5("bgezc", 7, -3, a6, a7); + TESTINST5("bgezc", 8, 125, t0, t1); + TESTINST5("bgezc", 9, 0x80000000, t1, t2); + TESTINST5("bgezc", 10, 0xffffffff, t2, t3); + TESTINST5("bgezc", 11, 0x256, t3, t4); + TESTINST5("bgezc", 12, 0x55, t4, t5); + TESTINST5("bgezc", 13, 0xfff, t5, s0); + TESTINST5("bgezc", 14, -1, s0, s1); + TESTINST5("bgezc", 15, -1, s1, s2); + + printf("---bgtzc---\n"); + TESTINST5("bgtzc", 0, 0, t4, t5); + TESTINST5("bgtzc", 1, 1, t5, a0); + TESTINST5("bgtzc", 2, 0xffffffff, a0, a1); + TESTINST5("bgtzc", 3, 0xffffffff, a1, a2); + TESTINST5("bgtzc", 4, 0xfffffffe, a2, a3); + TESTINST5("bgtzc", 5, 0xffffffff, a3, t4); + TESTINST5("bgtzc", 6, 0x5, a4, a5); + TESTINST5("bgtzc", 7, -3, a6, a7); + TESTINST5("bgtzc", 8, 125, t0, t1); + TESTINST5("bgtzc", 9, 0x80000000, t1, t2); + TESTINST5("bgtzc", 10, 0xffffffff, t2, t3); + TESTINST5("bgtzc", 11, 0x256, t3, t4); + TESTINST5("bgtzc", 12, 0x55, t4, t5); + TESTINST5("bgtzc", 13, 0xfff, t5, s0); + TESTINST5("bgtzc", 14, -1, s0, s1); + TESTINST5("bgtzc", 15, -1, s1, s2); + + printf("---blezc---\n"); + TESTINST5("blezc", 0, 0, t4, t5); + TESTINST5("blezc", 1, 1, t5, a0); + TESTINST5("blezc", 2, 0xffffffff, a0, a1); + TESTINST5("blezc", 3, 0xffffffff, a1, a2); + TESTINST5("blezc", 4, 0xfffffffe, a2, a3); + TESTINST5("blezc", 5, 0xffffffff, a3, t4); + TESTINST5("blezc", 6, 0x5, a4, a5); + TESTINST5("blezc", 7, -3, a6, a7); + TESTINST5("blezc", 8, 125, t0, t1); + TESTINST5("blezc", 9, 0x80000000, t1, t2); + TESTINST5("blezc", 10, 0xffffffff, t2, t3); + TESTINST5("blezc", 11, 0x256, t3, t4); + TESTINST5("blezc", 12, 0x55, t4, t5); + TESTINST5("blezc", 13, 0xfff, t5, s0); + TESTINST5("blezc", 14, -1, s0, s1); + TESTINST5("blezc", 15, -1, s1, s2); + + printf("---bltzc---\n"); + TESTINST5("bltzc", 0, 0, t4, t5); + TESTINST5("bltzc", 1, 1, t5, a0); + TESTINST5("bltzc", 2, 0xffffffff, a0, a1); + TESTINST5("bltzc", 3, 0xffffffff, a1, a2); + TESTINST5("bltzc", 4, 0xfffffffe, a2, a3); + TESTINST5("bltzc", 5, 0xffffffff, a3, t4); + TESTINST5("bltzc", 6, 0x5, a4, a5); + TESTINST5("bltzc", 7, -3, a6, a7); + TESTINST5("bltzc", 8, 125, t0, t1); + TESTINST5("bltzc", 9, 0x80000000, t1, t2); + TESTINST5("bltzc", 10, 0xffffffff, t2, t3); + TESTINST5("bltzc", 11, 0x256, t3, t4); + TESTINST5("bltzc", 12, 0x55, t4, t5); + TESTINST5("bltzc", 13, 0xfff, t5, s0); + TESTINST5("bltzc", 14, -1, s0, s1); + TESTINST5("bltzc", 15, -1, s1, s2); + + return 0; +} diff --git a/none/tests/nanomips/branches.stderr.exp b/none/tests/nanomips/branches.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/branches.stdout.exp b/none/tests/nanomips/branches.stdout.exp new file mode 100644 index 0000000000..5e3440ade1 --- /dev/null +++ b/none/tests/nanomips/branches.stdout.exp @@ -0,0 +1,480 @@ +---bc--- +BC :: 1, RSval: 0 +BC :: 2, RSval: 1 +BC :: 3, RSval: 2 +BC :: 4, RSval: 3 +BC :: 5, RSval: 4 +BC :: 6, RSval: 5 +BC :: 7, RSval: 6 +BC :: 8, RSval: 7 +BC :: 9, RSval: 8 +BC :: 10, RSval: 9 +BC :: 11, RSval: 10 +BC :: 12, RSval: 11 +BC :: 13, RSval: 12 +BC :: 14, RSval: 13 +BC :: 15, RSval: 14 +BC :: 16, RSval: 15 +BC :: 17, RSval: 16 +BC :: 18, RSval: 17 +BC :: 19, RSval: 18 +BC :: 20, RSval: 19 +BC :: 21, RSval: 20 +BC :: 22, RSval: 21 +BC :: 23, RSval: 22 +BC :: 24, RSval: 23 +---bc--- +bc :: 3, RSval: 0 +bc :: 4, RSval: 1 +bc :: 5, RSval: 2 +bc :: 6, RSval: 3 +bc :: 7, RSval: 4 +bc :: 8, RSval: 5 +bc :: 9, RSval: 6 +bc :: 10, RSval: 7 +bc :: 11, RSval: 8 +bc :: 12, RSval: 9 +bc :: 13, RSval: 10 +bc :: 14, RSval: 11 +bc :: 15, RSval: 12 +bc :: 16, RSval: 13 +bc :: 17, RSval: 14 +bc :: 18, RSval: 15 +bc :: 19, RSval: 16 +bc :: 20, RSval: 17 +bc :: 21, RSval: 18 +bc :: 22, RSval: 19 +bc :: 23, RSval: 20 +bc :: 24, RSval: 21 +bc :: 25, RSval: 22 +bc :: 26, RSval: 23 +---bc, balc, jrc--- +bc balc jrc :: 6, RSval: 0 +bc balc jrc :: 7, RSval: 1 +bc balc jrc :: 8, RSval: 2 +bc balc jrc :: 9, RSval: 3 +bc balc jrc :: 10, RSval: 4 +bc balc jrc :: 11, RSval: 5 +bc balc jrc :: 12, RSval: 6 +bc balc jrc :: 13, RSval: 7 +bc balc jrc :: 14, RSval: 8 +bc balc jrc :: 15, RSval: 9 +bc balc jrc :: 16, RSval: 10 +bc balc jrc :: 17, RSval: 11 +bc balc jrc :: 18, RSval: 12 +bc balc jrc :: 19, RSval: 13 +bc balc jrc :: 20, RSval: 14 +bc balc jrc :: 21, RSval: 15 +bc balc jrc :: 22, RSval: 16 +bc balc jrc :: 23, RSval: 17 +bc balc jrc :: 24, RSval: 18 +bc balc jrc :: 25, RSval: 19 +bc balc jrc :: 26, RSval: 20 +bc balc jrc :: 27, RSval: 21 +bc balc jrc :: 28, RSval: 22 +bc balc jrc :: 29, RSval: 23 +---balrsc--- +balrsc :: 6, RSval: 0 +balrsc :: 7, RSval: 1 +balrsc :: 8, RSval: 2 +balrsc :: 9, RSval: 3 +balrsc :: 10, RSval: 4 +balrsc :: 11, RSval: 5 +balrsc :: 12, RSval: 6 +balrsc :: 13, RSval: 7 +balrsc :: 14, RSval: 8 +balrsc :: 15, RSval: 9 +balrsc :: 16, RSval: 10 +balrsc :: 17, RSval: 11 +balrsc :: 18, RSval: 12 +balrsc :: 19, RSval: 13 +balrsc :: 20, RSval: 14 +balrsc :: 21, RSval: 15 +balrsc :: 22, RSval: 16 +balrsc :: 23, RSval: 17 +balrsc :: 24, RSval: 18 +balrsc :: 25, RSval: 19 +balrsc :: 26, RSval: 20 +balrsc :: 27, RSval: 21 +---bbeqzc--- +bbeqzc :: 1, RSval: 0 +bbeqzc :: 2, RSval: 1 +bbeqzc :: 8, RSval: 65535 +bbeqzc :: 4, RSval: 65487 +bbeqzc :: 10, RSval: -65536 +bbeqzc :: 6, RSval: -262144 +bbeqzc :: 7, RSval: 0 +bbeqzc :: 13, RSval: -268435456 +bbeqzc :: 9, RSval: 125 +bbeqzc :: 10, RSval: 125 +bbeqzc :: 16, RSval: -1 +bbeqzc :: 17, RSval: -1 +bbeqzc :: 18, RSval: 85 +bbeqzc :: 14, RSval: 16 +bbeqzc :: 20, RSval: -1 +bbeqzc :: 21, RSval: -1 +---bbnezc--- +bbnezc :: 6, RSval: 0 +bbnezc :: 7, RSval: 1 +bbnezc :: 3, RSval: 65535 +bbnezc :: 9, RSval: 65487 +bbnezc :: 5, RSval: -65536 +bbnezc :: 11, RSval: -262144 +bbnezc :: 12, RSval: 0 +bbnezc :: 8, RSval: -268435456 +bbnezc :: 14, RSval: 125 +bbnezc :: 15, RSval: 125 +bbnezc :: 11, RSval: -1 +bbnezc :: 12, RSval: -1 +bbnezc :: 13, RSval: 85 +bbnezc :: 19, RSval: 16 +bbnezc :: 15, RSval: -1 +bbnezc :: 16, RSval: -1 +---jalrc jrc--- +jalrc jrc :: 6, RSval: 0 +jalrc jrc :: 7, RSval: 1 +jalrc jrc :: 8, RSval: 2 +jalrc jrc :: 9, RSval: 3 +jalrc jrc :: 10, RSval: 4 +jalrc jrc :: 11, RSval: 5 +jalrc jrc :: 12, RSval: 6 +jalrc jrc :: 13, RSval: 7 +jalrc jrc :: 14, RSval: 8 +jalrc jrc :: 15, RSval: 9 +jalrc jrc :: 16, RSval: 10 +jalrc jrc :: 17, RSval: 11 +jalrc jrc :: 18, RSval: 12 +jalrc jrc :: 19, RSval: 13 +jalrc jrc :: 20, RSval: 14 +jalrc jrc :: 21, RSval: 15 +jalrc jrc :: 22, RSval: 16 +jalrc jrc :: 23, RSval: 17 +jalrc jrc :: 24, RSval: 18 +jalrc jrc :: 25, RSval: 19 +jalrc jrc :: 26, RSval: 20 +jalrc jrc :: 27, RSval: 21 +jalrc jrc :: 28, RSval: 22 +jalrc jrc :: 29, RSval: 23 +---beqc--- +beqc :: 6, RSval: 0, RTval: 1 +beqc :: 2, RSval: 1, RTval: 1 +beqc :: 3, RSval: -1, RTval: -1 +beqc :: 9, RSval: -1, RTval: -2 +beqc :: 10, RSval: -2, RTval: -1 +beqc :: 6, RSval: -1, RTval: -1 +beqc :: 7, RSval: 5, RTval: 5 +beqc :: 13, RSval: -3, RTval: -4 +beqc :: 9, RSval: 125, RTval: 125 +beqc :: 10, RSval: -2147483648, RTval: -2147483648 +beqc :: 16, RSval: -1, RTval: -2147483648 +beqc :: 12, RSval: 598, RTval: 598 +beqc :: 13, RSval: 85, RTval: 85 +beqc :: 19, RSval: 4095, RTval: 221 +beqc :: 20, RSval: -1, RTval: 5 +beqc :: 16, RSval: -1, RTval: -1 +---beqic--- +beqic :: 1, RSval: 0 +beqic :: 2, RSval: 1 +beqic :: 3, RSval: 127 +beqic :: 9, RSval: 127 +beqic :: 10, RSval: 126 +beqic :: 11, RSval: 112 +beqic :: 12, RSval: 5 +beqic :: 13, RSval: -3 +beqic :: 14, RSval: 125 +beqic :: 15, RSval: 0 +beqic :: 16, RSval: 15 +beqic :: 17, RSval: 38 +beqic :: 18, RSval: 85 +beqic :: 19, RSval: 16 +beqic :: 20, RSval: -1 +beqic :: 21, RSval: -1 +---beqzc--- +beqzc :: 1, RSval: 0 +beqzc :: 7, RSval: 1 +beqzc :: 8, RSval: -1 +beqzc :: 9, RSval: -1 +beqzc :: 10, RSval: -2 +beqzc :: 11, RSval: -1 +beqzc :: 12, RSval: 5 +beqzc :: 13, RSval: -3 +beqzc :: 14, RSval: 125 +beqzc :: 15, RSval: -2147483648 +beqzc :: 16, RSval: -1 +beqzc :: 17, RSval: 598 +beqzc :: 18, RSval: 85 +beqzc :: 19, RSval: 4095 +beqzc :: 20, RSval: -1 +beqzc :: 21, RSval: -1 +---bgec--- +bgec :: 6, RSval: 0, RTval: 1 +bgec :: 2, RSval: 1, RTval: 1 +bgec :: 3, RSval: -1, RTval: -1 +bgec :: 4, RSval: -1, RTval: -2 +bgec :: 10, RSval: -2, RTval: -1 +bgec :: 6, RSval: -1, RTval: -1 +bgec :: 7, RSval: 5, RTval: 5 +bgec :: 8, RSval: -3, RTval: -4 +bgec :: 9, RSval: 125, RTval: 125 +bgec :: 10, RSval: -2147483648, RTval: -2147483648 +bgec :: 11, RSval: -1, RTval: -2147483648 +bgec :: 12, RSval: 598, RTval: 598 +bgec :: 13, RSval: 85, RTval: 85 +bgec :: 14, RSval: 4095, RTval: 221 +bgec :: 20, RSval: -1, RTval: 5 +bgec :: 16, RSval: -1, RTval: -1 +---bgeic--- +bgeic :: 1, RSval: 0 +bgeic :: 2, RSval: 1 +bgeic :: 3, RSval: 127 +bgeic :: 4, RSval: 127 +bgeic :: 10, RSval: 126 +bgeic :: 11, RSval: 112 +bgeic :: 7, RSval: 5 +bgeic :: 13, RSval: -3 +bgeic :: 9, RSval: 125 +bgeic :: 15, RSval: 0 +bgeic :: 16, RSval: 15 +bgeic :: 12, RSval: 38 +bgeic :: 13, RSval: 85 +bgeic :: 14, RSval: 16 +bgeic :: 20, RSval: -1 +bgeic :: 21, RSval: -1 +---bgeiuc--- +bgeiuc :: 1, RSval: 0 +bgeiuc :: 2, RSval: 1 +bgeiuc :: 3, RSval: 127 +bgeiuc :: 4, RSval: 127 +bgeiuc :: 10, RSval: 126 +bgeiuc :: 11, RSval: 112 +bgeiuc :: 7, RSval: 5 +bgeiuc :: 8, RSval: -3 +bgeiuc :: 9, RSval: 125 +bgeiuc :: 15, RSval: 0 +bgeiuc :: 16, RSval: 15 +bgeiuc :: 12, RSval: 38 +bgeiuc :: 13, RSval: 85 +bgeiuc :: 14, RSval: 16 +bgeiuc :: 15, RSval: -1 +bgeiuc :: 16, RSval: -1 +---bgeuc--- +bgeuc :: 6, RSval: 0, RTval: 1 +bgeuc :: 2, RSval: 1, RTval: 1 +bgeuc :: 3, RSval: -1, RTval: -1 +bgeuc :: 4, RSval: -1, RTval: -2 +bgeuc :: 10, RSval: -2, RTval: -1 +bgeuc :: 6, RSval: -1, RTval: -1 +bgeuc :: 7, RSval: 5, RTval: 5 +bgeuc :: 8, RSval: -3, RTval: -4 +bgeuc :: 9, RSval: 125, RTval: 125 +bgeuc :: 10, RSval: -2147483648, RTval: -2147483648 +bgeuc :: 11, RSval: -1, RTval: -2147483648 +bgeuc :: 12, RSval: 598, RTval: 598 +bgeuc :: 13, RSval: 85, RTval: 85 +bgeuc :: 14, RSval: 4095, RTval: 221 +bgeuc :: 15, RSval: -1, RTval: 5 +bgeuc :: 16, RSval: -1, RTval: -1 +---bltc--- +bltc :: 1, RSval: 0, RTval: 1 +bltc :: 7, RSval: 1, RTval: 1 +bltc :: 8, RSval: -1, RTval: -1 +bltc :: 9, RSval: -1, RTval: -2 +bltc :: 5, RSval: -2, RTval: -1 +bltc :: 11, RSval: -1, RTval: -1 +bltc :: 12, RSval: 5, RTval: 5 +bltc :: 13, RSval: -3, RTval: -4 +bltc :: 14, RSval: 125, RTval: 125 +bltc :: 15, RSval: -2147483648, RTval: -2147483648 +bltc :: 16, RSval: -1, RTval: -2147483648 +bltc :: 17, RSval: 598, RTval: 598 +bltc :: 18, RSval: 85, RTval: 85 +bltc :: 19, RSval: 4095, RTval: 221 +bltc :: 15, RSval: -1, RTval: 5 +bltc :: 21, RSval: -1, RTval: -1 +---bltic--- +bltic :: 6, RSval: 0 +bltic :: 7, RSval: 1 +bltic :: 8, RSval: 127 +bltic :: 9, RSval: 127 +bltic :: 5, RSval: 126 +bltic :: 6, RSval: 112 +bltic :: 12, RSval: 5 +bltic :: 8, RSval: -3 +bltic :: 14, RSval: 125 +bltic :: 10, RSval: 0 +bltic :: 11, RSval: 15 +bltic :: 17, RSval: 38 +bltic :: 18, RSval: 85 +bltic :: 19, RSval: 16 +bltic :: 15, RSval: -1 +bltic :: 16, RSval: -1 +---bltiuc--- +bltiuc :: 6, RSval: 0 +bltiuc :: 7, RSval: 1 +bltiuc :: 8, RSval: 127 +bltiuc :: 9, RSval: 127 +bltiuc :: 5, RSval: 126 +bltiuc :: 6, RSval: 112 +bltiuc :: 12, RSval: 5 +bltiuc :: 13, RSval: -3 +bltiuc :: 14, RSval: 125 +bltiuc :: 10, RSval: 0 +bltiuc :: 11, RSval: 15 +bltiuc :: 17, RSval: 38 +bltiuc :: 18, RSval: 85 +bltiuc :: 19, RSval: 16 +bltiuc :: 20, RSval: -1 +bltiuc :: 21, RSval: -1 +---bltuc--- +bltuc :: 1, RSval: 0, RTval: 1 +bltuc :: 7, RSval: 1, RTval: 1 +bltuc :: 8, RSval: -1, RTval: -1 +bltuc :: 9, RSval: -1, RTval: -2 +bltuc :: 5, RSval: -2, RTval: -1 +bltuc :: 11, RSval: -1, RTval: -1 +bltuc :: 12, RSval: 5, RTval: 5 +bltuc :: 13, RSval: -3, RTval: -4 +bltuc :: 14, RSval: 125, RTval: 125 +bltuc :: 15, RSval: -2147483648, RTval: -2147483648 +bltuc :: 16, RSval: -1, RTval: -2147483648 +bltuc :: 17, RSval: 598, RTval: 598 +bltuc :: 18, RSval: 85, RTval: 85 +bltuc :: 19, RSval: 4095, RTval: 221 +bltuc :: 20, RSval: -1, RTval: 5 +bltuc :: 21, RSval: -1, RTval: -1 +---bnec--- +bnec :: 1, RSval: 0, RTval: 1 +bnec :: 7, RSval: 1, RTval: 1 +bnec :: 8, RSval: -1, RTval: -1 +bnec :: 4, RSval: -1, RTval: -2 +bnec :: 5, RSval: -2, RTval: -1 +bnec :: 11, RSval: -1, RTval: -1 +bnec :: 12, RSval: 5, RTval: 5 +bnec :: 8, RSval: -3, RTval: -4 +bnec :: 14, RSval: 125, RTval: 125 +bnec :: 15, RSval: -2147483648, RTval: -2147483648 +bnec :: 11, RSval: -1, RTval: -2147483648 +bnec :: 17, RSval: 598, RTval: 598 +bnec :: 18, RSval: 85, RTval: 85 +bnec :: 14, RSval: 4095, RTval: 221 +bnec :: 15, RSval: -1, RTval: 5 +bnec :: 21, RSval: -1, RTval: -1 +---bneic--- +bneic :: 6, RSval: 0 +bneic :: 7, RSval: 1 +bneic :: 8, RSval: 127 +bneic :: 4, RSval: 127 +bneic :: 5, RSval: 126 +bneic :: 6, RSval: 112 +bneic :: 7, RSval: 5 +bneic :: 8, RSval: -3 +bneic :: 9, RSval: 125 +bneic :: 10, RSval: 0 +bneic :: 11, RSval: 15 +bneic :: 12, RSval: 38 +bneic :: 13, RSval: 85 +bneic :: 14, RSval: 16 +bneic :: 15, RSval: -1 +bneic :: 16, RSval: -1 +---bnezc--- +bnezc :: 6, RSval: 0 +bnezc :: 2, RSval: 1 +bnezc :: 3, RSval: -1 +bnezc :: 4, RSval: -1 +bnezc :: 5, RSval: -2 +bnezc :: 6, RSval: -1 +bnezc :: 7, RSval: 5 +bnezc :: 8, RSval: -3 +bnezc :: 9, RSval: 125 +bnezc :: 10, RSval: -2147483648 +bnezc :: 11, RSval: -1 +bnezc :: 12, RSval: 598 +bnezc :: 13, RSval: 85 +bnezc :: 14, RSval: 4095 +bnezc :: 15, RSval: -1 +bnezc :: 16, RSval: -1 +---brsc--- +brsc :: 1, RSval: 0 +brsc :: 7, RSval: 1 +brsc :: 13, RSval: 2 +brsc :: 19, RSval: 3 +brsc :: 25, RSval: 4 +brsc :: 31, RSval: 5 +brsc :: 37, RSval: 6 +brsc :: 43, RSval: 7 +brsc :: 49, RSval: 8 +brsc :: 55, RSval: 9 +brsc :: 61, RSval: 10 +brsc :: 67, RSval: 11 +brsc :: 73, RSval: 12 +brsc :: 79, RSval: 13 +brsc :: 85, RSval: 14 +brsc :: 91, RSval: 15 +---bgezc--- +bgezc :: 1, RSval: 0 +bgezc :: 2, RSval: 1 +bgezc :: 8, RSval: -1 +bgezc :: 9, RSval: -1 +bgezc :: 10, RSval: -2 +bgezc :: 11, RSval: -1 +bgezc :: 7, RSval: 5 +bgezc :: 13, RSval: -3 +bgezc :: 9, RSval: 125 +bgezc :: 15, RSval: -2147483648 +bgezc :: 16, RSval: -1 +bgezc :: 12, RSval: 598 +bgezc :: 13, RSval: 85 +bgezc :: 14, RSval: 4095 +bgezc :: 20, RSval: -1 +bgezc :: 21, RSval: -1 +---bgtzc--- +bgtzc :: 6, RSval: 0 +bgtzc :: 2, RSval: 1 +bgtzc :: 8, RSval: -1 +bgtzc :: 9, RSval: -1 +bgtzc :: 10, RSval: -2 +bgtzc :: 11, RSval: -1 +bgtzc :: 7, RSval: 5 +bgtzc :: 13, RSval: -3 +bgtzc :: 9, RSval: 125 +bgtzc :: 15, RSval: -2147483648 +bgtzc :: 16, RSval: -1 +bgtzc :: 12, RSval: 598 +bgtzc :: 13, RSval: 85 +bgtzc :: 14, RSval: 4095 +bgtzc :: 20, RSval: -1 +bgtzc :: 21, RSval: -1 +---blezc--- +blezc :: 1, RSval: 0 +blezc :: 7, RSval: 1 +blezc :: 3, RSval: -1 +blezc :: 4, RSval: -1 +blezc :: 5, RSval: -2 +blezc :: 6, RSval: -1 +blezc :: 12, RSval: 5 +blezc :: 8, RSval: -3 +blezc :: 14, RSval: 125 +blezc :: 10, RSval: -2147483648 +blezc :: 11, RSval: -1 +blezc :: 17, RSval: 598 +blezc :: 18, RSval: 85 +blezc :: 19, RSval: 4095 +blezc :: 15, RSval: -1 +blezc :: 16, RSval: -1 +---bltzc--- +bltzc :: 6, RSval: 0 +bltzc :: 7, RSval: 1 +bltzc :: 3, RSval: -1 +bltzc :: 4, RSval: -1 +bltzc :: 5, RSval: -2 +bltzc :: 6, RSval: -1 +bltzc :: 12, RSval: 5 +bltzc :: 8, RSval: -3 +bltzc :: 14, RSval: 125 +bltzc :: 10, RSval: -2147483648 +bltzc :: 11, RSval: -1 +bltzc :: 17, RSval: 598 +bltzc :: 18, RSval: 85 +bltzc :: 19, RSval: 4095 +bltzc :: 15, RSval: -1 +bltzc :: 16, RSval: -1 diff --git a/none/tests/nanomips/branches.vgtest b/none/tests/nanomips/branches.vgtest new file mode 100644 index 0000000000..ce8a1fd1d8 --- /dev/null +++ b/none/tests/nanomips/branches.vgtest @@ -0,0 +1,2 @@ +prog: branches +vgopts: -q \ No newline at end of file diff --git a/none/tests/nanomips/filter_stderr b/none/tests/nanomips/filter_stderr new file mode 100755 index 0000000000..616ce05e19 --- /dev/null +++ b/none/tests/nanomips/filter_stderr @@ -0,0 +1,4 @@ +#! /bin/sh + +../filter_stderr + diff --git a/none/tests/nanomips/load_store.S b/none/tests/nanomips/load_store.S new file mode 100644 index 0000000000..670a42b423 --- /dev/null +++ b/none/tests/nanomips/load_store.S @@ -0,0 +1,2626 @@ + .data + test_data: + .word 0x01234567 + .word 0x89ABCDEF + test_data2: + .word 0x0 + .word 0x1 + .word 0x2 + .word 0x3 + .word 0x4 + .word 0x5 + .word 0x6 + .word 0x7 + .word 0x8 + .word 0x9 + .word 0xA + .word 0xB + .word 0xC + .word 0xD + .word 0xE + .word 0xF + test_ints: #12 + .word 0x0 + .word 0xFFFFFFFF + .word 0x55555555 + .word 0x00000002 + .word 0xAAAAAAAA + .word 0x33333333 + .word 0xFFFFFFFE + .word 0x00000001 + .word 0xCCCCCCCC + .word 0x0000000A + .word 0x12345678 + .word 0x9ABCDEF + reg_name_0: + .ascii "$r0 %08x\n" + .byte 0 + reg_name_1: + .ascii "$at %08x\n" + .byte 0 + reg_name_2: + .ascii "$t4 %08x\n" + .byte 0 + reg_name_3: + .ascii "$t5 %08x\n" + .byte 0 + reg_name_4: + .ascii "$a0 %08x\n" + .byte 0 + reg_name_5: + .ascii "$a1 %08x\n" + .byte 0 + reg_name_6: + .ascii "$a2 %08x\n" + .byte 0 + reg_name_7: + .ascii "$a3 %08x\n" + .byte 0 + reg_name_8: + .ascii "$a4 %08x\n" + .byte 0 + reg_name_9: + .ascii "$a5 %08x\n" + .byte 0 + reg_name_10: + .ascii "$a6 %08x\n" + .byte 0 + reg_name_11: + .ascii "$a7 %08x\n" + .byte 0 + reg_name_12: + .ascii "$t0 %08x\n" + .byte 0 + reg_name_13: + .ascii "$t1 %08x\n" + .byte 0 + reg_name_14: + .ascii "$t2 %08x\n" + .byte 0 + reg_name_15: + .ascii "$t3 %08x\n" + .byte 0 + reg_name_16: + .ascii "$s0 %08x\n" + .byte 0 + reg_name_17: + .ascii "$s1 %08x\n" + .byte 0 + reg_name_18: + .ascii "$s2 %08x\n" + .byte 0 + reg_name_19: + .ascii "$s3 %08x\n" + .byte 0 + reg_name_20: + .ascii "$s4 %08x\n" + .byte 0 + reg_name_21: + .ascii "$s5 %08x\n" + .byte 0 + reg_name_22: + .ascii "$s6 %08x\n" + .byte 0 + reg_name_23: + .ascii "$s7 %08x\n" + .byte 0 + reg_name_24: + .ascii "$t8 %08x\n" + .byte 0 + reg_name_25: + .ascii "$t9 %08x\n" + .byte 0 + reg_name_26: + .ascii "$k0 %08x\n" + .byte 0 + reg_name_27: + .ascii "$k1 %08x\n" + .byte 0 + reg_name_28: + .ascii "$gp %08x\n" + .byte 0 + reg_name_29: + .ascii "$sp %08x\n" + .byte 0 + reg_name_30: + .ascii "$fp %08x\n" + .byte 0 + reg_name_31: + .ascii "$ra %08x\n" + .byte 0 + print_4_hex_num: + .ascii "%08x %08x %08x %08x\n" + .byte 0 + + .text + .align 1 + .set noreorder + .set nomacro + + .macro LOAD_ONE label, instruction, reg1, reg2, offset, offset2 + .data + &label: + .ascii "&instruction ®1 %08x &offset(®2) &offset2\n" + .byte 0 + .text + li ®2, test_data + &offset2 + &instruction ®1, &offset(®2) + move $a1, ®1 + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro LOAD_ONE_INDEXED label, instruction, reg1, reg2, reg3, offset, offset2 + .data + &label: + .ascii "&instruction ®1 %08x ®3(®2) &offset2\n" + .byte 0 + .text + li ®2, test_data + &offset2 + li ®3, &offset + &instruction ®1, ®3(®2) + move $a1, ®1 + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro STORE_ONE label, instruction, reg1, reg2, offset, offset2, val + .data + &label: + .ascii "&instruction ®1 &val &offset(®2) &offset &offset2 mem: %08x%08x\n" + .byte 0 + .text + li ®2, test_data + &offset2 + li ®1, &val + &instruction ®1, &offset(®2) + li $a0, &label + li $s0, test_data + lw $a1, 0($s0) + lw $a2, 4($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $t0, 0x01234567 + li $t1, 0x89ABCDEF + sw $t0, 0($s0) + sw $t1, 4($s0) + .endm + + .macro STORE_ONE_INDEXED label, instruction, reg1, reg2, reg3, offset, offset2, val + .data + &label: + .ascii "&instruction ®1 &val ®3(®2) &offset &offset2 mem: %08x%08x\n" + .byte 0 + .text + li ®2, test_data + &offset2 + li ®3, &offset + li ®1, &val + &instruction ®1, ®3(®2) + li $a0, &label + li $s0, test_data + lw $a1, 0($s0) + lw $a2, 4($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $t0, 0x01234567 + li $t1, 0x89ABCDEF + sw $t0, 0($s0) + sw $t1, 4($s0) + .endm + + .macro LOAD_ONE_SPECIAL label, instruction, special, reg, offset, offset2 + .data + &label: + .ascii "&instruction ® %08x &offset(&special) &offset2\n" + .byte 0 + .text + move $ra, $sp + sw &special, 4($ra) + li &special, test_data + &offset2 + &instruction ®, &offset(&special) + move $a1, ® + li $a0, &label + lw &special, 4($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro STORE_ONE_SPECIAL label, instruction, special, reg, offset, offset2, val + .data + &label: + .ascii "&instruction ® &val &offset(&special) &offset2 mem: %08x%08x\n" + .byte 0 + .text + move $ra, $sp + sw &special, 4($ra) + li &special, test_data + &offset2 + li ®, &val + &instruction ®, &offset(&special) + li $a0, &label + li $s0, test_data + lw $a1, 0($s0) + lw $a2, 4($s0) + lw &special, 4($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $t0, 0x01234567 + li $t1, 0x89ABCDEF + sw $t0, 0($s0) + sw $t1, 4($s0) + .endm + + .macro LOAD_IMMIDIATE label, instruction, reg, val + .data + &label: + .ascii "&instruction ®, &val %08x\n" + .byte 0 + .text + &instruction ®, &val + move $a1, ® + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro LOAD_IMMIDIATE_HI label, instruction, reg, val + .data + &label: + .ascii "&instruction ®, %%hi(&val) %08x\n" + .byte 0 + .text + &instruction ®, %hi(&val) + move $a1, ® + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro THREE_REG_1_IMM label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2, imm + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x, &imm\n" + .byte 0 + .text + li $ra, &mem1 + lw ®2, &offset1($ra) + li $ra, &mem2 + lw ®3, &offset2($ra) + &instruction ®1, ®2, ®3, &imm + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro LOAD_STORE_MULTIPLE instruction, label, regt, regs, offset, offset2, count + .data + &label: + .ascii "&instruction ®t &offset(®s) &offset2 &count\n" + .byte 0 + .text + li ®s, test_data2 + &offset2 + &instruction ®t, &offset(®s), &count + .endm + + + .globl cleanup_test_data2 + .ent cleanup_test_data2 + .type cleanup_test_data2, @function +cleanup_test_data2: + li $t0, test_data2 + li $t1, 0 +loop: + swxs $t1, $t1($t0) + addiu $t1, $t1, 1 + bneic $t1, 16, loop + jrc $ra + .end cleanup_test_data2 + .size cleanup_test_data2, .-cleanup_test_data2 + + .globl print_test_data2 + .ent print_test_data2 + .type print_test_data2, @function +print_test_data2: + save 16, $ra + + li $s0, test_data2 + li $a0, print_4_hex_num + lw $a1, 0($s0) + lw $a2, 4($s0) + lw $a3, 8($s0) + lw $a4, 12($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 16($s0) + lw $a2, 20($s0) + lw $a3, 24($s0) + lw $a4, 28($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 32($s0) + lw $a2, 36($s0) + lw $a3, 40($s0) + lw $a4, 44($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 48($s0) + lw $a2, 52($s0) + lw $a3, 56($s0) + lw $a4, 60($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + restore 16, $ra + jrc $ra + .set macro + .set reorder + .end print_test_data2 + .size print_test_data2, .-print_test_data2 + + + .globl main + .ent main + .type main, @function + .text +main: + + save 16, $ra + +# lb[u12] + LOAD_ONE message1, lb[u12], $t3, $s5, 3244, -3239 + LOAD_ONE message2, lb[u12], $t1, $s3, 2897, -2894 + LOAD_ONE message3, lb[u12], $a7, $s5, 2852, -2846 + LOAD_ONE message4, lb[u12], $a4, $t2, 3047, -3046 + LOAD_ONE message5, lb[u12], $t3, $t0, 633, -629 + LOAD_ONE message6, lb[u12], $s7, $a7, 704, -700 + LOAD_ONE message7, lb[u12], $s1, $t2, 940, -939 + LOAD_ONE message8, lb[u12], $t3, $a2, 2006, -2000 + LOAD_ONE message9, lb[u12], $s7, $a6, 1428, -1427 + LOAD_ONE message10, lb[u12], $t1, $t1, 308, -308 + LOAD_ONE message11, lb[u12], $s2, $a0, 623, -621 + LOAD_ONE message12, lb[u12], $s2, $a2, 539, -537 + LOAD_ONE message13, lb[u12], $t2, $s4, 2958, -2957 + LOAD_ONE message14, lb[u12], $s3, $a6, 1501, -1496 + LOAD_ONE message15, lb[u12], $t0, $s6, 438, -434 + +# lb[16] + LOAD_ONE message16, lb[16], $s0, $s0, 2, 5 + LOAD_ONE message17, lb[16], $s2, $s2, 0, 0 + LOAD_ONE message18, lb[16], $a3, $s0, 0, 5 + LOAD_ONE message19, lb[16], $s1, $s3, 3, 0 + LOAD_ONE message20, lb[16], $s2, $a2, 1, -1 + LOAD_ONE message21, lb[16], $s2, $a3, 2, 0 + LOAD_ONE message22, lb[16], $a1, $s3, 3, -1 + LOAD_ONE message23, lb[16], $a1, $s1, 2, 3 + LOAD_ONE message24, lb[16], $a2, $a0, 1, -1 + LOAD_ONE message25, lb[16], $s3, $s1, 0, 2 + LOAD_ONE message26, lb[16], $a2, $a1, 0, 7 + LOAD_ONE message27, lb[16], $a0, $s3, 2, 4 + LOAD_ONE message28, lb[16], $a2, $a0, 3, -3 + LOAD_ONE message29, lb[16], $a3, $a1, 2, 3 + LOAD_ONE message30, lb[16], $a0, $a1, 3, -1 + +# lb[gp] + LOAD_ONE_SPECIAL message31, lb[gp], $gp, $t3, 37027, -37026 + LOAD_ONE_SPECIAL message32, lb[gp], $gp, $s5, 55060, -55056 + LOAD_ONE_SPECIAL message33, lb[gp], $gp, $t2, 182942, -182938 + LOAD_ONE_SPECIAL message34, lb[gp], $gp, $s7, 42677, -42674 + LOAD_ONE_SPECIAL message35, lb[gp], $gp, $s2, 129018, -129018 + LOAD_ONE_SPECIAL message36, lb[gp], $gp, $t1, 68297, -68296 + LOAD_ONE_SPECIAL message37, lb[gp], $gp, $a6, 58298, -58296 + LOAD_ONE_SPECIAL message38, lb[gp], $gp, $a1, 261052, -261048 + LOAD_ONE_SPECIAL message39, lb[gp], $gp, $s2, 41804, -41797 + LOAD_ONE_SPECIAL message40, lb[gp], $gp, $s0, 206952, -206950 + LOAD_ONE_SPECIAL message41, lb[gp], $gp, $t0, 1754, -1751 + LOAD_ONE_SPECIAL message42, lb[gp], $gp, $t2, 79423, -79423 + LOAD_ONE_SPECIAL message43, lb[gp], $gp, $s7, 261977, -261973 + LOAD_ONE_SPECIAL message44, lb[gp], $gp, $a2, 224338, -224334 + LOAD_ONE_SPECIAL message45, lb[gp], $gp, $a5, 79898, -79896 + +# lb[s9] + LOAD_ONE message46, lb[s9], $a0, $s7, 38, -36 + LOAD_ONE message47, lb[s9], $a7, $a7, 130, -123 + LOAD_ONE message48, lb[s9], $t2, $a6, -166, 168 + LOAD_ONE message49, lb[s9], $t1, $a4, 22, -19 + LOAD_ONE message50, lb[s9], $s2, $a1, 243, -242 + LOAD_ONE message51, lb[s9], $s6, $s4, -251, 251 + LOAD_ONE message52, lb[s9], $t2, $s3, -188, 192 + LOAD_ONE message53, lb[s9], $t2, $s6, 254, -247 + LOAD_ONE message54, lb[s9], $a1, $s5, 233, -229 + LOAD_ONE message55, lb[s9], $a0, $a7, -148, 150 + LOAD_ONE message56, lb[s9], $s5, $a2, -171, 173 + LOAD_ONE message57, lb[s9], $a6, $s7, 141, -141 + LOAD_ONE message58, lb[s9], $s0, $s5, 161, -155 + LOAD_ONE message59, lb[s9], $a5, $t3, -98, 102 + LOAD_ONE message60, lb[s9], $s2, $s2, -24, 24 + +# lbu[u12] + LOAD_ONE message61, lbu[u12], $a4, $t2, 1487, -1485 + LOAD_ONE message62, lbu[u12], $s3, $s1, 1862, -1858 + LOAD_ONE message63, lbu[u12], $s0, $a2, 6, 0 + LOAD_ONE message64, lbu[u12], $a4, $a3, 1560, -1553 + LOAD_ONE message65, lbu[u12], $s2, $s6, 279, -273 + LOAD_ONE message66, lbu[u12], $a7, $s1, 1868, -1864 + LOAD_ONE message67, lbu[u12], $s0, $a2, 1216, -1214 + LOAD_ONE message68, lbu[u12], $s4, $a4, 322, -321 + LOAD_ONE message69, lbu[u12], $a3, $t2, 3587, -3585 + LOAD_ONE message70, lbu[u12], $t3, $s5, 2382, -2375 + LOAD_ONE message71, lbu[u12], $t0, $s1, 3453, -3449 + LOAD_ONE message72, lbu[u12], $a4, $t2, 1387, -1380 + LOAD_ONE message73, lbu[u12], $s4, $a7, 165, -162 + LOAD_ONE message74, lbu[u12], $t0, $a6, 2207, -2203 + LOAD_ONE message75, lbu[u12], $s0, $s0, 2390, -2389 + +# lbu[16] + LOAD_ONE message76, lbu[16], $a0, $a0, 2, 5 + LOAD_ONE message77, lbu[16], $a2, $s1, 2, 3 + LOAD_ONE message78, lbu[16], $s2, $a0, 1, 1 + LOAD_ONE message79, lbu[16], $s1, $a2, 3, 3 + LOAD_ONE message80, lbu[16], $a0, $a2, 1, 3 + LOAD_ONE message81, lbu[16], $s1, $a2, 3, -2 + LOAD_ONE message82, lbu[16], $s0, $s3, 1, 0 + LOAD_ONE message83, lbu[16], $s3, $a3, 2, 5 + LOAD_ONE message84, lbu[16], $s0, $s0, 3, 3 + LOAD_ONE message85, lbu[16], $a1, $a1, 0, 7 + LOAD_ONE message86, lbu[16], $a1, $a1, 2, 5 + LOAD_ONE message87, lbu[16], $a3, $a1, 1, 3 + LOAD_ONE message88, lbu[16], $a3, $a2, 0, 1 + LOAD_ONE message89, lbu[16], $s0, $a0, 2, -1 + LOAD_ONE message90, lbu[16], $s3, $a0, 2, 4 + +# lbu[gp] + LOAD_ONE_SPECIAL message91, lbu[gp], $gp, $s7, 252116, -252109 + LOAD_ONE_SPECIAL message92, lbu[gp], $gp, $a4, 116648, -116647 + LOAD_ONE_SPECIAL message93, lbu[gp], $gp, $a1, 102080, -102073 + LOAD_ONE_SPECIAL message94, lbu[gp], $gp, $s7, 192460, -192454 + LOAD_ONE_SPECIAL message95, lbu[gp], $gp, $a7, 258302, -258295 + LOAD_ONE_SPECIAL message96, lbu[gp], $gp, $a5, 238568, -238567 + LOAD_ONE_SPECIAL message97, lbu[gp], $gp, $t3, 167780, -167778 + LOAD_ONE_SPECIAL message98, lbu[gp], $gp, $a6, 96928, -96922 + LOAD_ONE_SPECIAL message99, lbu[gp], $gp, $s0, 40041, -40041 + LOAD_ONE_SPECIAL message100, lbu[gp], $gp, $t2, 9963, -9956 + LOAD_ONE_SPECIAL message101, lbu[gp], $gp, $a1, 175804, -175804 + LOAD_ONE_SPECIAL message102, lbu[gp], $gp, $a0, 76212, -76212 + LOAD_ONE_SPECIAL message103, lbu[gp], $gp, $t3, 44015, -44011 + LOAD_ONE_SPECIAL message104, lbu[gp], $gp, $a4, 73858, -73851 + LOAD_ONE_SPECIAL message105, lbu[gp], $gp, $s1, 34784, -34780 + +# lbu[s9] + LOAD_ONE message106, lbu[s9], $a5, $s1, 226, -221 + LOAD_ONE message107, lbu[s9], $t3, $a3, -106, 107 + LOAD_ONE message108, lbu[s9], $t3, $t3, -136, 136 + LOAD_ONE message109, lbu[s9], $a5, $a7, -191, 197 + LOAD_ONE message110, lbu[s9], $a7, $s4, -114, 117 + LOAD_ONE message111, lbu[s9], $s5, $s1, -9, 15 + LOAD_ONE message112, lbu[s9], $s0, $a1, 21, -16 + LOAD_ONE message113, lbu[s9], $a2, $t3, 113, -110 + LOAD_ONE message114, lbu[s9], $s0, $a7, -192, 199 + LOAD_ONE message115, lbu[s9], $s3, $a2, -232, 238 + LOAD_ONE message116, lbu[s9], $s6, $t1, -34, 41 + LOAD_ONE message117, lbu[s9], $t0, $a3, -99, 102 + LOAD_ONE message118, lbu[s9], $a7, $a7, -178, 179 + LOAD_ONE message119, lbu[s9], $t0, $s2, 87, -83 + LOAD_ONE message120, lbu[s9], $s3, $a0, -70, 71 + +# lbux + LOAD_ONE_INDEXED message121, lbux, $s3, $a3, $a0, -889890988, 889890991 + LOAD_ONE_INDEXED message122, lbux, $s6, $a7, $t0, 448736016, -448736010 + LOAD_ONE_INDEXED message123, lbux, $s5, $a1, $a6, -603183184, 603183186 + LOAD_ONE_INDEXED message124, lbux, $s3, $a6, $s2, 2047843929, -2047843929 + LOAD_ONE_INDEXED message125, lbux, $s6, $t1, $a6, -1809456980, 1809456981 + LOAD_ONE_INDEXED message126, lbux, $s7, $s3, $s1, -1834948869, 1834948874 + LOAD_ONE_INDEXED message127, lbux, $a4, $a2, $s4, -1701947355, 1701947355 + LOAD_ONE_INDEXED message128, lbux, $s3, $a3, $a6, -702101932, 702101939 + LOAD_ONE_INDEXED message129, lbux, $s7, $s7, $t0, -174660532, 174660535 + LOAD_ONE_INDEXED message130, lbux, $t1, $s4, $t0, -1788914064, 1788914066 + LOAD_ONE_INDEXED message131, lbux, $a7, $a2, $s7, 1397035608, -1397035603 + LOAD_ONE_INDEXED message132, lbux, $s3, $a5, $a3, 1667537883, -1667537882 + LOAD_ONE_INDEXED message133, lbux, $t3, $s5, $t2, -473198375, 473198378 + LOAD_ONE_INDEXED message134, lbux, $a7, $a7, $s0, -1334036079, 1334036086 + LOAD_ONE_INDEXED message135, lbux, $s5, $t3, $a2, -1070998134, 1070998134 + LOAD_ONE_INDEXED message136, lbux, $a2, $s7, $a7, -973969496, 973969496 + LOAD_ONE_INDEXED message137, lbux, $s7, $s4, $a3, 5756886, -5756885 + LOAD_ONE_INDEXED message138, lbux, $s2, $s6, $a5, -326176395, 326176399 + LOAD_ONE_INDEXED message139, lbux, $s0, $t2, $s4, 117404247, -117404242 + LOAD_ONE_INDEXED message140, lbux, $s4, $a0, $s5, 412386958, -412386957 + LOAD_ONE_INDEXED message141, lbux, $t3, $s7, $a6, -740462742, 740462743 + LOAD_ONE_INDEXED message142, lbux, $s0, $a3, $a2, -1115603238, 1115603241 + LOAD_ONE_INDEXED message143, lbux, $s2, $a5, $s3, 499929505, -499929505 + LOAD_ONE_INDEXED message144, lbux, $s5, $s2, $a1, 986827130, -986827123 + LOAD_ONE_INDEXED message145, lbux, $s2, $t3, $t0, -456599814, 456599818 + +# lbx + LOAD_ONE_INDEXED message146, lbx, $t1, $a4, $t1, 1212928687, -1212928684 + LOAD_ONE_INDEXED message147, lbx, $s1, $s3, $s2, 1106623400, -1106623398 + LOAD_ONE_INDEXED message148, lbx, $s3, $s1, $s7, 805607772, -805607767 + LOAD_ONE_INDEXED message149, lbx, $a1, $s7, $t0, -247617974, 247617979 + LOAD_ONE_INDEXED message150, lbx, $a4, $t3, $s1, 1998663233, -1998663231 + LOAD_ONE_INDEXED message151, lbx, $s7, $s1, $s5, 947603248, -947603245 + LOAD_ONE_INDEXED message152, lbx, $s0, $s0, $s2, 7671704, -7671700 + LOAD_ONE_INDEXED message153, lbx, $s0, $s5, $s6, -1074890744, 1074890749 + LOAD_ONE_INDEXED message154, lbx, $a6, $s7, $s2, -1482043606, 1482043613 + LOAD_ONE_INDEXED message155, lbx, $a2, $t1, $a1, 342844121, -342844116 + LOAD_ONE_INDEXED message156, lbx, $t3, $s1, $s5, 821849392, -821849392 + LOAD_ONE_INDEXED message157, lbx, $s7, $s0, $s4, 910590088, -910590082 + LOAD_ONE_INDEXED message158, lbx, $a2, $t1, $a3, 935855104, -935855097 + LOAD_ONE_INDEXED message159, lbx, $s3, $a5, $s6, 101043846, -101043839 + LOAD_ONE_INDEXED message160, lbx, $s6, $s2, $a1, -377157448, 377157453 + LOAD_ONE_INDEXED message161, lbx, $s2, $s1, $s2, -1324616057, 1324616062 + LOAD_ONE_INDEXED message162, lbx, $a0, $s3, $a4, -1949314325, 1949314331 + LOAD_ONE_INDEXED message163, lbx, $s5, $t0, $a5, 637279836, -637279835 + LOAD_ONE_INDEXED message164, lbx, $a6, $t3, $a3, 2015198588, -2015198587 + LOAD_ONE_INDEXED message165, lbx, $a6, $t2, $a3, -861280020, 861280024 + LOAD_ONE_INDEXED message166, lbx, $a2, $s6, $a6, 2112295222, -2112295218 + LOAD_ONE_INDEXED message167, lbx, $t0, $t0, $a6, 1101483488, -1101483484 + LOAD_ONE_INDEXED message168, lbx, $a6, $a7, $s5, -483558942, 483558948 + LOAD_ONE_INDEXED message169, lbx, $t2, $s2, $a7, -347290944, 347290951 + LOAD_ONE_INDEXED message170, lbx, $a0, $s2, $s7, 1562598800, -1562598799 + +# lh[u12] + LOAD_ONE message171, lh[u12], $s6, $a4, 557, -554 + LOAD_ONE message172, lh[u12], $s4, $t3, 3960, -3956 + LOAD_ONE message173, lh[u12], $a2, $a0, 2931, -2927 + LOAD_ONE message174, lh[u12], $s5, $s0, 743, -737 + LOAD_ONE message175, lh[u12], $s6, $a5, 3692, -3690 + LOAD_ONE message176, lh[u12], $a1, $a5, 3887, -3886 + LOAD_ONE message177, lh[u12], $a5, $s5, 2247, -2241 + LOAD_ONE message178, lh[u12], $s2, $a1, 1077, -1072 + LOAD_ONE message179, lh[u12], $t1, $s2, 3030, -3024 + LOAD_ONE message180, lh[u12], $a1, $s6, 1626, -1622 + LOAD_ONE message181, lh[u12], $s6, $s5, 2633, -2628 + LOAD_ONE message182, lh[u12], $s5, $t0, 3366, -3365 + LOAD_ONE message183, lh[u12], $a2, $a7, 272, -266 + LOAD_ONE message184, lh[u12], $s4, $s3, 1632, -1632 + LOAD_ONE message185, lh[u12], $a5, $a7, 45, -41 + +# lh[16] + LOAD_ONE message186, lh[16], $s0, $a2, 6, -3 + LOAD_ONE message187, lh[16], $s0, $s1, 0, 1 + LOAD_ONE message188, lh[16], $s0, $a2, 0, 1 + LOAD_ONE message189, lh[16], $a0, $a2, 2, 2 + LOAD_ONE message190, lh[16], $a2, $a1, 0, 5 + LOAD_ONE message191, lh[16], $s0, $a1, 4, 0 + LOAD_ONE message192, lh[16], $a1, $s0, 4, 1 + LOAD_ONE message193, lh[16], $a3, $a3, 4, 2 + LOAD_ONE message194, lh[16], $s1, $s0, 6, -1 + LOAD_ONE message195, lh[16], $a1, $s2, 6, -3 + LOAD_ONE message196, lh[16], $a0, $a0, 4, -2 + LOAD_ONE message197, lh[16], $a2, $s2, 6, -5 + LOAD_ONE message198, lh[16], $s3, $s3, 4, 2 + LOAD_ONE message199, lh[16], $a0, $a1, 6, -3 + LOAD_ONE message200, lh[16], $s1, $s1, 2, 1 + +# lh[gp] + LOAD_ONE_SPECIAL message201, lh[gp], $gp, $a4, 252712, -252712 + LOAD_ONE_SPECIAL message202, lh[gp], $gp, $s4, 260424, -260422 + LOAD_ONE_SPECIAL message203, lh[gp], $gp, $a1, 148444, -148444 + LOAD_ONE_SPECIAL message204, lh[gp], $gp, $a7, 31802, -31801 + LOAD_ONE_SPECIAL message205, lh[gp], $gp, $t2, 225268, -225266 + LOAD_ONE_SPECIAL message206, lh[gp], $gp, $s3, 128460, -128460 + LOAD_ONE_SPECIAL message207, lh[gp], $gp, $s2, 16464, -16462 + LOAD_ONE_SPECIAL message208, lh[gp], $gp, $s5, 11552, -11549 + LOAD_ONE_SPECIAL message209, lh[gp], $gp, $a5, 151326, -151325 + LOAD_ONE_SPECIAL message210, lh[gp], $gp, $s0, 75270, -75268 + LOAD_ONE_SPECIAL message211, lh[gp], $gp, $a1, 183456, -183452 + LOAD_ONE_SPECIAL message212, lh[gp], $gp, $s6, 52958, -52957 + LOAD_ONE_SPECIAL message213, lh[gp], $gp, $a1, 92644, -92640 + LOAD_ONE_SPECIAL message214, lh[gp], $gp, $a6, 2756, -2756 + LOAD_ONE_SPECIAL message215, lh[gp], $gp, $a3, 140512, -140511 + +# lh[s9] + LOAD_ONE message216, lh[s9], $a1, $s4, 206, -202 + LOAD_ONE message217, lh[s9], $t2, $a5, -125, 131 + LOAD_ONE message218, lh[s9], $s0, $t3, -32, 33 + LOAD_ONE message219, lh[s9], $t2, $t3, -218, 222 + LOAD_ONE message220, lh[s9], $s0, $s5, 73, -71 + LOAD_ONE message221, lh[s9], $t3, $a7, 233, -230 + LOAD_ONE message222, lh[s9], $t2, $a4, 142, -139 + LOAD_ONE message223, lh[s9], $a1, $t2, -150, 150 + LOAD_ONE message224, lh[s9], $a3, $a1, -248, 249 + LOAD_ONE message225, lh[s9], $t2, $t3, 195, -189 + LOAD_ONE message226, lh[s9], $t2, $s3, 196, -193 + LOAD_ONE message227, lh[s9], $s2, $a6, 101, -101 + LOAD_ONE message228, lh[s9], $s4, $s2, -21, 23 + LOAD_ONE message229, lh[s9], $s1, $a4, 89, -85 + LOAD_ONE message230, lh[s9], $a1, $t0, 96, -91 + +# lhu[u12] + LOAD_ONE message231, lhu[u12], $a6, $s3, 1732, -1727 + LOAD_ONE message232, lhu[u12], $s4, $t0, 3446, -3444 + LOAD_ONE message233, lhu[u12], $s7, $s6, 4077, -4071 + LOAD_ONE message234, lhu[u12], $t1, $t1, 3802, -3797 + LOAD_ONE message235, lhu[u12], $s7, $a7, 2086, -2083 + LOAD_ONE message236, lhu[u12], $t1, $s2, 2367, -2363 + LOAD_ONE message237, lhu[u12], $a6, $s4, 1861, -1857 + LOAD_ONE message238, lhu[u12], $s0, $s6, 29, -23 + LOAD_ONE message239, lhu[u12], $t1, $a5, 3984, -3982 + LOAD_ONE message240, lhu[u12], $s5, $s3, 1955, -1951 + LOAD_ONE message241, lhu[u12], $t1, $s4, 767, -764 + LOAD_ONE message242, lhu[u12], $s1, $a1, 1910, -1907 + LOAD_ONE message243, lhu[u12], $a1, $a5, 532, -527 + LOAD_ONE message244, lhu[u12], $a7, $s7, 389, -387 + LOAD_ONE message245, lhu[u12], $s0, $s6, 705, -701 + +# lhu[16] + LOAD_ONE message246, lhu[16], $a0, $s2, 2, 4 + LOAD_ONE message247, lhu[16], $a0, $s0, 6, -1 + LOAD_ONE message248, lhu[16], $a3, $a2, 2, -2 + LOAD_ONE message249, lhu[16], $a2, $a1, 2, 4 + LOAD_ONE message250, lhu[16], $a3, $a1, 0, 6 + LOAD_ONE message251, lhu[16], $s2, $s1, 2, -2 + LOAD_ONE message252, lhu[16], $a1, $s3, 2, 3 + LOAD_ONE message253, lhu[16], $a2, $a3, 0, 2 + LOAD_ONE message254, lhu[16], $a2, $s1, 4, -3 + LOAD_ONE message255, lhu[16], $a1, $a2, 6, -2 + LOAD_ONE message256, lhu[16], $s0, $a2, 0, 6 + LOAD_ONE message257, lhu[16], $a3, $a2, 2, 0 + LOAD_ONE message258, lhu[16], $a3, $s0, 2, 0 + LOAD_ONE message259, lhu[16], $a1, $s1, 6, -5 + LOAD_ONE message260, lhu[16], $s0, $a1, 6, -2 + +# lhu[gp] + LOAD_ONE_SPECIAL message261, lhu[gp], $gp, $s4, 102312, -102310 + LOAD_ONE_SPECIAL message262, lhu[gp], $gp, $t2, 142072, -142072 + LOAD_ONE_SPECIAL message263, lhu[gp], $gp, $a3, 288, -286 + LOAD_ONE_SPECIAL message264, lhu[gp], $gp, $t2, 64960, -64955 + LOAD_ONE_SPECIAL message265, lhu[gp], $gp, $s1, 66440, -66438 + LOAD_ONE_SPECIAL message266, lhu[gp], $gp, $s2, 123644, -123641 + LOAD_ONE_SPECIAL message267, lhu[gp], $gp, $a7, 238158, -238155 + LOAD_ONE_SPECIAL message268, lhu[gp], $gp, $t2, 60406, -60404 + LOAD_ONE_SPECIAL message269, lhu[gp], $gp, $t2, 244354, -244353 + LOAD_ONE_SPECIAL message270, lhu[gp], $gp, $s4, 100438, -100433 + LOAD_ONE_SPECIAL message271, lhu[gp], $gp, $t1, 230832, -230828 + LOAD_ONE_SPECIAL message272, lhu[gp], $gp, $s5, 212118, -212115 + LOAD_ONE_SPECIAL message273, lhu[gp], $gp, $s5, 85040, -85040 + LOAD_ONE_SPECIAL message274, lhu[gp], $gp, $a3, 185772, -185771 + LOAD_ONE_SPECIAL message275, lhu[gp], $gp, $s3, 187508, -187506 + +# lhu[s9] + LOAD_ONE message276, lhu[s9], $a6, $s1, -36, 37 + LOAD_ONE message277, lhu[s9], $a5, $s1, 245, -241 + LOAD_ONE message278, lhu[s9], $s6, $a4, 161, -157 + LOAD_ONE message279, lhu[s9], $t3, $s5, -45, 49 + LOAD_ONE message280, lhu[s9], $t0, $t0, -249, 255 + LOAD_ONE message281, lhu[s9], $t1, $s7, -136, 138 + LOAD_ONE message282, lhu[s9], $a6, $s3, 68, -63 + LOAD_ONE message283, lhu[s9], $a7, $s3, -37, 40 + LOAD_ONE message284, lhu[s9], $s4, $s3, 46, -45 + LOAD_ONE message285, lhu[s9], $a0, $a3, 215, -214 + LOAD_ONE message286, lhu[s9], $a7, $s0, 50, -49 + LOAD_ONE message287, lhu[s9], $s6, $t2, -5, 5 + LOAD_ONE message288, lhu[s9], $a6, $s2, 44, -44 + LOAD_ONE message289, lhu[s9], $t2, $s4, -103, 109 + LOAD_ONE message290, lhu[s9], $s7, $s5, -239, 245 + +# lhux + LOAD_ONE_INDEXED message291, lhux, $a4, $s4, $a0, 654528500, -654528500 + LOAD_ONE_INDEXED message292, lhux, $a7, $a5, $t1, -686463982, 686463987 + LOAD_ONE_INDEXED message293, lhux, $s7, $s3, $s2, -321234940, 321234946 + LOAD_ONE_INDEXED message294, lhux, $a2, $s5, $s3, 706252812, -706252807 + LOAD_ONE_INDEXED message295, lhux, $a7, $a0, $s1, -2058105489, 2058105493 + LOAD_ONE_INDEXED message296, lhux, $a0, $s4, $s1, -2061432420, 2061432426 + LOAD_ONE_INDEXED message297, lhux, $a6, $t0, $a6, 174228966, -174228961 + LOAD_ONE_INDEXED message298, lhux, $s1, $a6, $s5, 1891267847, -1891267841 + LOAD_ONE_INDEXED message299, lhux, $a5, $s3, $t0, -444379808, 444379812 + LOAD_ONE_INDEXED message300, lhux, $s1, $a6, $a0, -1477313998, 1477314003 + LOAD_ONE_INDEXED message301, lhux, $a6, $a3, $a6, -1022790268, 1022790271 + LOAD_ONE_INDEXED message302, lhux, $t3, $s5, $s3, 1371180774, -1371180769 + LOAD_ONE_INDEXED message303, lhux, $a3, $s1, $a5, -1308732034, 1308732039 + LOAD_ONE_INDEXED message304, lhux, $a2, $a4, $s3, -1977290648, 1977290650 + LOAD_ONE_INDEXED message305, lhux, $t2, $s6, $a3, 2123376358, -2123376352 + LOAD_ONE_INDEXED message306, lhux, $a0, $a2, $a1, 556796589, -556796586 + LOAD_ONE_INDEXED message307, lhux, $s5, $s4, $s0, -452824132, 452824138 + LOAD_ONE_INDEXED message308, lhux, $s2, $a2, $t1, -734918056, 734918056 + LOAD_ONE_INDEXED message309, lhux, $s0, $s6, $s7, 472633216, -472633215 + LOAD_ONE_INDEXED message310, lhux, $t2, $s4, $s7, 118985060, -118985054 + LOAD_ONE_INDEXED message311, lhux, $a1, $a6, $a1, -1677466044, 1677466049 + LOAD_ONE_INDEXED message312, lhux, $a3, $a6, $s2, -818907804, 818907810 + LOAD_ONE_INDEXED message313, lhux, $a6, $a0, $a1, -1202797778, 1202797780 + LOAD_ONE_INDEXED message314, lhux, $s7, $t3, $a2, -18117101, 18117104 + LOAD_ONE_INDEXED message315, lhux, $a5, $t2, $s1, 1467127064, -1467127060 + +# lhuxs + LOAD_ONE_INDEXED message316, lhuxs, $s6, $a4, $s0, -1072335466, 2144670934 + LOAD_ONE_INDEXED message317, lhuxs, $s3, $a1, $t3, 44736666, -89473330 + LOAD_ONE_INDEXED message318, lhuxs, $s0, $s2, $s3, 133674173, -267348343 + LOAD_ONE_INDEXED message319, lhuxs, $a1, $a2, $a1, 656690193, -1313380381 + LOAD_ONE_INDEXED message320, lhuxs, $t1, $a5, $s2, 788342872, -1576685738 + LOAD_ONE_INDEXED message321, lhuxs, $s5, $a0, $a4, 985818210, -1971636418 + LOAD_ONE_INDEXED message322, lhuxs, $s7, $a4, $a7, -656671444, 1313342891 + LOAD_ONE_INDEXED message323, lhuxs, $a4, $a3, $s0, 684598409, -1369196816 + LOAD_ONE_INDEXED message324, lhuxs, $t3, $a4, $a3, 105658004, -211316008 + LOAD_ONE_INDEXED message325, lhuxs, $t0, $a2, $t0, -111340188, 222680378 + LOAD_ONE_INDEXED message326, lhuxs, $a1, $s7, $s1, 824156087, -1648312169 + LOAD_ONE_INDEXED message327, lhuxs, $a5, $s5, $s0, 341678488, -683356974 + LOAD_ONE_INDEXED message328, lhuxs, $a3, $a5, $a6, 339945582, -679891161 + LOAD_ONE_INDEXED message329, lhuxs, $t0, $s7, $t0, 995742750, -1991485496 + LOAD_ONE_INDEXED message330, lhuxs, $a7, $a5, $a7, -323634896, 647269793 + LOAD_ONE_INDEXED message331, lhuxs, $s0, $a6, $s3, 951034707, -1902069411 + LOAD_ONE_INDEXED message332, lhuxs, $a4, $s1, $a1, 630364265, -1260728525 + LOAD_ONE_INDEXED message333, lhuxs, $s7, $a2, $s3, -484640785, 969281574 + LOAD_ONE_INDEXED message334, lhuxs, $a6, $s3, $a1, -551719541, 1103439083 + LOAD_ONE_INDEXED message335, lhuxs, $s2, $s0, $s4, -723716982, 1447433967 + LOAD_ONE_INDEXED message336, lhuxs, $t1, $a6, $a2, -295377805, 590755610 + LOAD_ONE_INDEXED message337, lhuxs, $s1, $s7, $s4, -822001180, 1644002363 + LOAD_ONE_INDEXED message338, lhuxs, $t2, $a2, $t0, -956681624, 1913363249 + LOAD_ONE_INDEXED message339, lhuxs, $s2, $a1, $a6, -759445000, 1518890000 + LOAD_ONE_INDEXED message340, lhuxs, $t0, $s5, $s2, 1033401736, -2066803467 + +# lhx + LOAD_ONE_INDEXED message341, lhx, $s7, $s3, $a1, 1645284674, -1645284671 + LOAD_ONE_INDEXED message342, lhx, $a7, $s0, $s6, -2025043786, 2025043792 + LOAD_ONE_INDEXED message343, lhx, $a4, $s4, $a6, 1589467140, -1589467138 + LOAD_ONE_INDEXED message344, lhx, $t0, $s3, $s5, 841647848, -841647847 + LOAD_ONE_INDEXED message345, lhx, $t1, $t3, $a2, 113753248, -113753248 + LOAD_ONE_INDEXED message346, lhx, $s1, $s1, $t3, 1975594398, -1975594392 + LOAD_ONE_INDEXED message347, lhx, $a0, $s1, $s4, -507222120, 507222123 + LOAD_ONE_INDEXED message348, lhx, $a7, $s3, $a6, 1948779837, -1948779835 + LOAD_ONE_INDEXED message349, lhx, $s4, $t3, $a2, -1962403782, 1962403784 + LOAD_ONE_INDEXED message350, lhx, $s5, $a1, $s3, -879319794, 879319795 + LOAD_ONE_INDEXED message351, lhx, $s4, $t0, $a2, -704505057, 704505059 + LOAD_ONE_INDEXED message352, lhx, $t3, $s5, $s0, -590509000, 590509005 + LOAD_ONE_INDEXED message353, lhx, $s3, $t2, $s6, -2131090755, 2131090761 + LOAD_ONE_INDEXED message354, lhx, $t3, $s5, $s6, -2089182202, 2089182205 + LOAD_ONE_INDEXED message355, lhx, $s1, $t3, $a4, 851281816, -851281814 + LOAD_ONE_INDEXED message356, lhx, $s5, $a1, $a0, -2114812424, 2114812429 + LOAD_ONE_INDEXED message357, lhx, $s2, $a7, $a5, -1057393146, 1057393146 + LOAD_ONE_INDEXED message358, lhx, $a6, $s3, $t2, 1691153635, -1691153629 + LOAD_ONE_INDEXED message359, lhx, $a3, $a1, $s2, -1226810384, 1226810386 + LOAD_ONE_INDEXED message360, lhx, $t0, $a1, $s4, 535625244, -535625239 + LOAD_ONE_INDEXED message361, lhx, $s0, $a5, $t1, -131196224, 131196226 + LOAD_ONE_INDEXED message362, lhx, $s5, $a5, $s6, -1821462231, 1821462231 + LOAD_ONE_INDEXED message363, lhx, $s6, $t0, $s3, -1399877727, 1399877733 + LOAD_ONE_INDEXED message364, lhx, $s1, $s0, $t0, -1715178930, 1715178936 + LOAD_ONE_INDEXED message365, lhx, $a7, $s5, $s6, 162878610, -162878604 + +# lhxs + LOAD_ONE_INDEXED message366, lhxs, $a6, $a6, $s6, 910280620, -1820561240 + LOAD_ONE_INDEXED message367, lhxs, $s5, $a4, $s2, 24866152, -49732299 + LOAD_ONE_INDEXED message368, lhxs, $a1, $a7, $t2, 1037916655, -2075833304 + LOAD_ONE_INDEXED message369, lhxs, $a0, $a7, $a0, -267134206, 534268412 + LOAD_ONE_INDEXED message370, lhxs, $a2, $s3, $a3, -93144608, 186289219 + LOAD_ONE_INDEXED message371, lhxs, $a5, $s1, $a1, -308089315, 616178634 + LOAD_ONE_INDEXED message372, lhxs, $t1, $t1, $t2, -1071346460, 2142692925 + LOAD_ONE_INDEXED message373, lhxs, $s3, $s7, $s5, -34389579, 68779164 + LOAD_ONE_INDEXED message374, lhxs, $a6, $s5, $t0, -33386912, 66773830 + LOAD_ONE_INDEXED message375, lhxs, $t1, $s1, $t3, -596018741, 1192037485 + LOAD_ONE_INDEXED message376, lhxs, $t0, $s7, $a3, -735400890, 1470801786 + LOAD_ONE_INDEXED message377, lhxs, $t0, $s1, $a5, 307384596, -614769188 + LOAD_ONE_INDEXED message378, lhxs, $s2, $a4, $s4, 100138468, -200276934 + LOAD_ONE_INDEXED message379, lhxs, $a5, $s0, $t3, 68352297, -136704589 + LOAD_ONE_INDEXED message380, lhxs, $s3, $s3, $s7, -592008519, 1184017041 + LOAD_ONE_INDEXED message381, lhxs, $a7, $a5, $s0, -57986879, 115973761 + LOAD_ONE_INDEXED message382, lhxs, $a0, $s2, $a0, 821877743, -1643755485 + LOAD_ONE_INDEXED message383, lhxs, $s3, $t1, $a4, 703274845, -1406549684 + LOAD_ONE_INDEXED message384, lhxs, $t1, $s1, $s3, -944357408, 1888714822 + LOAD_ONE_INDEXED message385, lhxs, $t3, $a0, $s3, -424881185, 849762376 + LOAD_ONE_INDEXED message386, lhxs, $a7, $s2, $t1, 276356114, -552712223 + LOAD_ONE_INDEXED message387, lhxs, $a7, $t1, $s7, 823106538, -1646213072 + LOAD_ONE_INDEXED message388, lhxs, $a4, $s2, $s5, -99813810, 199627626 + LOAD_ONE_INDEXED message389, lhxs, $a3, $s7, $s5, -688493963, 1376987926 + LOAD_ONE_INDEXED message390, lhxs, $s4, $t3, $s4, -967088517, 1934177040 + +# lw[u12] + LOAD_ONE message391, lw[u12], $a6, $s2, 1991, -1991 + LOAD_ONE message392, lw[u12], $s0, $a2, 2471, -2467 + LOAD_ONE message393, lw[u12], $s5, $s0, 3226, -3223 + LOAD_ONE message394, lw[u12], $s5, $s3, 154, -150 + LOAD_ONE message395, lw[u12], $t1, $s2, 3717, -3715 + LOAD_ONE message396, lw[u12], $a4, $t0, 2522, -2520 + LOAD_ONE message397, lw[u12], $a1, $s1, 2154, -2152 + LOAD_ONE message398, lw[u12], $a2, $a3, 3411, -3411 + LOAD_ONE message399, lw[u12], $s6, $s3, 2493, -2489 + LOAD_ONE message400, lw[u12], $s5, $a0, 2100, -2098 + LOAD_ONE message401, lw[u12], $a0, $t3, 2318, -2315 + LOAD_ONE message402, lw[u12], $a2, $s1, 2679, -2675 + LOAD_ONE message403, lw[u12], $s3, $s4, 41, -41 + LOAD_ONE message404, lw[u12], $s0, $s3, 2061, -2057 + LOAD_ONE message405, lw[u12], $s4, $a7, 2422, -2420 + +# lw[16] + LOAD_ONE message406, lw[16], $s2, $a1, 4, -3 + LOAD_ONE message407, lw[16], $s0, $s1, 32, -30 + LOAD_ONE message408, lw[16], $a1, $s3, 52, -51 + LOAD_ONE message409, lw[16], $s2, $a3, 56, -52 + LOAD_ONE message410, lw[16], $s0, $a2, 40, -40 + LOAD_ONE message411, lw[16], $s2, $a1, 52, -48 + LOAD_ONE message412, lw[16], $s1, $s0, 0, 0 + LOAD_ONE message413, lw[16], $a3, $s2, 40, -36 + LOAD_ONE message414, lw[16], $a0, $a0, 20, -20 + LOAD_ONE message415, lw[16], $s1, $a0, 56, -54 + LOAD_ONE message416, lw[16], $s3, $s3, 48, -47 + LOAD_ONE message417, lw[16], $a3, $s0, 44, -41 + LOAD_ONE message418, lw[16], $s2, $s2, 28, -26 + LOAD_ONE message419, lw[16], $s3, $s2, 36, -32 + LOAD_ONE message420, lw[16], $a2, $s0, 0, 3 + +# lw[4x4] + LOAD_ONE message421, lw[4x4], $s3, $s2, 12, -9 + LOAD_ONE message422, lw[4x4], $s2, $a4, 12, -9 + LOAD_ONE message423, lw[4x4], $s5, $s2, 12, -10 + LOAD_ONE message424, lw[4x4], $s1, $s6, 0, 3 + LOAD_ONE message425, lw[4x4], $s2, $a0, 12, -11 + LOAD_ONE message426, lw[4x4], $a6, $s3, 4, 0 + LOAD_ONE message427, lw[4x4], $a1, $s2, 8, -5 + LOAD_ONE message428, lw[4x4], $s6, $s4, 0, 4 + LOAD_ONE message429, lw[4x4], $a6, $s6, 4, -2 + LOAD_ONE message430, lw[4x4], $a3, $a4, 0, 1 + LOAD_ONE message431, lw[4x4], $s6, $s6, 12, -11 + LOAD_ONE message432, lw[4x4], $s5, $s6, 4, -3 + LOAD_ONE message433, lw[4x4], $s6, $a0, 0, 3 + LOAD_ONE message434, lw[4x4], $s3, $a6, 0, 0 + LOAD_ONE message435, lw[4x4], $a0, $s4, 4, -1 + +# lw[gp16] + LOAD_ONE_SPECIAL message436, lw[gp16], $gp, $a0, 356, -354 + LOAD_ONE_SPECIAL message437, lw[gp16], $gp, $s2, 324, -320 + LOAD_ONE_SPECIAL message438, lw[gp16], $gp, $s3, 312, -311 + LOAD_ONE_SPECIAL message439, lw[gp16], $gp, $a0, 504, -504 + LOAD_ONE_SPECIAL message440, lw[gp16], $gp, $s2, 340, -339 + LOAD_ONE_SPECIAL message441, lw[gp16], $gp, $a3, 256, -253 + LOAD_ONE_SPECIAL message442, lw[gp16], $gp, $a3, 48, -46 + LOAD_ONE_SPECIAL message443, lw[gp16], $gp, $a3, 372, -369 + LOAD_ONE_SPECIAL message444, lw[gp16], $gp, $a2, 248, -248 + LOAD_ONE_SPECIAL message445, lw[gp16], $gp, $a2, 116, -116 + LOAD_ONE_SPECIAL message446, lw[gp16], $gp, $a1, 428, -428 + LOAD_ONE_SPECIAL message447, lw[gp16], $gp, $a2, 456, -455 + LOAD_ONE_SPECIAL message448, lw[gp16], $gp, $s3, 104, -101 + LOAD_ONE_SPECIAL message449, lw[gp16], $gp, $a0, 88, -84 + LOAD_ONE_SPECIAL message450, lw[gp16], $gp, $s3, 456, -456 + +# lw[gp] + LOAD_ONE_SPECIAL message451, lw[gp], $gp, $t1, 354712, -354711 + LOAD_ONE_SPECIAL message452, lw[gp], $gp, $a3, 1822592, -1822588 + LOAD_ONE_SPECIAL message453, lw[gp], $gp, $t3, 521856, -521856 + LOAD_ONE_SPECIAL message454, lw[gp], $gp, $a1, 1223004, -1223002 + LOAD_ONE_SPECIAL message455, lw[gp], $gp, $a1, 152016, -152016 + LOAD_ONE_SPECIAL message456, lw[gp], $gp, $a7, 158700, -158696 + LOAD_ONE_SPECIAL message457, lw[gp], $gp, $t0, 1595072, -1595072 + LOAD_ONE_SPECIAL message458, lw[gp], $gp, $s1, 4276, -4273 + LOAD_ONE_SPECIAL message459, lw[gp], $gp, $t2, 1688504, -1688503 + LOAD_ONE_SPECIAL message460, lw[gp], $gp, $a0, 1868688, -1868687 + LOAD_ONE_SPECIAL message461, lw[gp], $gp, $s5, 934824, -934820 + LOAD_ONE_SPECIAL message462, lw[gp], $gp, $a5, 1945912, -1945911 + LOAD_ONE_SPECIAL message463, lw[gp], $gp, $s7, 1407980, -1407976 + LOAD_ONE_SPECIAL message464, lw[gp], $gp, $a0, 684520, -684517 + LOAD_ONE_SPECIAL message465, lw[gp], $gp, $a1, 384136, -384134 + +# lw[s9] + LOAD_ONE message466, lw[s9], $a6, $s7, -172, 176 + LOAD_ONE message467, lw[s9], $s7, $a7, 198, -196 + LOAD_ONE message468, lw[s9], $a4, $s2, -78, 80 + LOAD_ONE message469, lw[s9], $t0, $a0, 159, -158 + LOAD_ONE message470, lw[s9], $a7, $a4, -241, 245 + LOAD_ONE message471, lw[s9], $s6, $a0, -28, 29 + LOAD_ONE message472, lw[s9], $s7, $s1, -73, 76 + LOAD_ONE message473, lw[s9], $s2, $t1, -162, 165 + LOAD_ONE message474, lw[s9], $a5, $a2, -199, 201 + LOAD_ONE message475, lw[s9], $s1, $a3, -101, 104 + LOAD_ONE message476, lw[s9], $a5, $a1, -122, 123 + LOAD_ONE message477, lw[s9], $a1, $t2, 178, -178 + LOAD_ONE message478, lw[s9], $s6, $a1, -18, 21 + LOAD_ONE message479, lw[s9], $s5, $a3, 234, -234 + LOAD_ONE message480, lw[s9], $a4, $s5, 124, -120 + +# lw[sp] + LOAD_ONE_SPECIAL message481, lw[sp], $sp, $s3, 88, -84 + LOAD_ONE_SPECIAL message482, lw[sp], $sp, $t0, 12, -8 + LOAD_ONE_SPECIAL message483, lw[sp], $sp, $s0, 32, -30 + LOAD_ONE_SPECIAL message484, lw[sp], $sp, $t3, 84, -81 + LOAD_ONE_SPECIAL message485, lw[sp], $sp, $a0, 88, -87 + LOAD_ONE_SPECIAL message486, lw[sp], $sp, $s5, 0, 1 + LOAD_ONE_SPECIAL message487, lw[sp], $sp, $s6, 120, -118 + LOAD_ONE_SPECIAL message488, lw[sp], $sp, $a0, 36, -35 + LOAD_ONE_SPECIAL message489, lw[sp], $sp, $s7, 16, -15 + LOAD_ONE_SPECIAL message490, lw[sp], $sp, $t3, 48, -46 + LOAD_ONE_SPECIAL message491, lw[sp], $sp, $a5, 36, -32 + LOAD_ONE_SPECIAL message492, lw[sp], $sp, $a0, 48, -44 + LOAD_ONE_SPECIAL message493, lw[sp], $sp, $t3, 88, -84 + LOAD_ONE_SPECIAL message494, lw[sp], $sp, $s6, 28, -24 + LOAD_ONE_SPECIAL message495, lw[sp], $sp, $s6, 44, -41 + +# lwx + LOAD_ONE_INDEXED message496, lwx, $s7, $s2, $a1, -1262298492, 1262298496 + LOAD_ONE_INDEXED message497, lwx, $t0, $s6, $s4, 1001646248, -1001646245 + LOAD_ONE_INDEXED message498, lwx, $s5, $a7, $s1, 1066803926, -1066803923 + LOAD_ONE_INDEXED message499, lwx, $s5, $s0, $s6, -2001926058, 2001926058 + LOAD_ONE_INDEXED message500, lwx, $s0, $a7, $s6, 1831537640, -1831537638 + LOAD_ONE_INDEXED message501, lwx, $a5, $s6, $t0, -62963148, 62963148 + LOAD_ONE_INDEXED message502, lwx, $a7, $t0, $s1, 729384569, -729384568 + LOAD_ONE_INDEXED message503, lwx, $t1, $t3, $a4, -695716325, 695716329 + LOAD_ONE_INDEXED message504, lwx, $s6, $s1, $a0, -1051753760, 1051753763 + LOAD_ONE_INDEXED message505, lwx, $a5, $a5, $a6, 1766774550, -1766774547 + LOAD_ONE_INDEXED message506, lwx, $s4, $s7, $a1, -1081126293, 1081126295 + LOAD_ONE_INDEXED message507, lwx, $a6, $s4, $s0, -56058416, 56058420 + LOAD_ONE_INDEXED message508, lwx, $a2, $a3, $a5, -1326612064, 1326612065 + LOAD_ONE_INDEXED message509, lwx, $a0, $a3, $s1, -32329192, 32329194 + LOAD_ONE_INDEXED message510, lwx, $a0, $a2, $s3, -150163436, 150163437 + LOAD_ONE_INDEXED message511, lwx, $a0, $a6, $t0, 1908722036, -1908722032 + LOAD_ONE_INDEXED message512, lwx, $s1, $s1, $a5, 1760694703, -1760694703 + LOAD_ONE_INDEXED message513, lwx, $s1, $s0, $s3, -734290784, 734290786 + LOAD_ONE_INDEXED message514, lwx, $s4, $a0, $a7, -934062392, 934062396 + LOAD_ONE_INDEXED message515, lwx, $s3, $s6, $s0, 1969292716, -1969292715 + LOAD_ONE_INDEXED message516, lwx, $t2, $a0, $s0, 348468254, -348468254 + LOAD_ONE_INDEXED message517, lwx, $s7, $t0, $a2, -724511640, 724511641 + LOAD_ONE_INDEXED message518, lwx, $s1, $a6, $s6, -1736815986, 1736815990 + LOAD_ONE_INDEXED message519, lwx, $a0, $s3, $s2, -378999095, 378999098 + LOAD_ONE_INDEXED message520, lwx, $t1, $s6, $s3, 653884433, -653884429 + +# lwxs[32] + LOAD_ONE_INDEXED message521, lwxs[32], $a5, $a5, $t0, -109707623, 438830493 + LOAD_ONE_INDEXED message522, lwxs[32], $a6, $s4, $a3, -295291500, 1181166004 + LOAD_ONE_INDEXED message523, lwxs[32], $s0, $s2, $a3, -68061735, 272246940 + LOAD_ONE_INDEXED message524, lwxs[32], $t2, $a4, $a5, -365321637, 1461286550 + LOAD_ONE_INDEXED message525, lwxs[32], $s5, $t0, $s7, 274046107, -1096184428 + LOAD_ONE_INDEXED message526, lwxs[32], $a3, $a7, $s5, 393361672, -1573446685 + LOAD_ONE_INDEXED message527, lwxs[32], $t3, $s2, $t3, 33218196, -132872780 + LOAD_ONE_INDEXED message528, lwxs[32], $t2, $t3, $s4, 450020406, -1800081621 + LOAD_ONE_INDEXED message529, lwxs[32], $a1, $a1, $a6, 286804440, -1147217757 + LOAD_ONE_INDEXED message530, lwxs[32], $s5, $a7, $s2, 536026718, -2144106872 + LOAD_ONE_INDEXED message531, lwxs[32], $s0, $t1, $a3, -388558945, 1554235783 + LOAD_ONE_INDEXED message532, lwxs[32], $a4, $t2, $s6, 363944210, -1455776836 + LOAD_ONE_INDEXED message533, lwxs[32], $a1, $t1, $a2, 255521964, -1022087856 + LOAD_ONE_INDEXED message534, lwxs[32], $t3, $a5, $a0, 491360369, -1965441476 + LOAD_ONE_INDEXED message535, lwxs[32], $s3, $t3, $a7, -492807020, 1971228084 + LOAD_ONE_INDEXED message536, lwxs[32], $a7, $t1, $s0, 134615802, -538463206 + LOAD_ONE_INDEXED message537, lwxs[32], $a4, $a1, $t2, -87352785, 349411144 + LOAD_ONE_INDEXED message538, lwxs[32], $a1, $a1, $s3, 407819750, -1631278998 + LOAD_ONE_INDEXED message539, lwxs[32], $a5, $t3, $a3, 260213280, -1040853118 + LOAD_ONE_INDEXED message540, lwxs[32], $s1, $s6, $s3, 491300869, -1965203476 + LOAD_ONE_INDEXED message541, lwxs[32], $s1, $s3, $s1, 126438351, -505753402 + LOAD_ONE_INDEXED message542, lwxs[32], $a2, $a3, $a5, 267712272, -1070849086 + LOAD_ONE_INDEXED message543, lwxs[32], $t2, $s7, $s5, -478737599, 1914950400 + LOAD_ONE_INDEXED message544, lwxs[32], $s5, $s7, $a3, 11519183, -46076732 + LOAD_ONE_INDEXED message545, lwxs[32], $a4, $a0, $t1, 134524946, -538099784 + +# lwxs[16] + LOAD_ONE_INDEXED message546, lwxs[16], $s2, $a1, $s0, -265499100, 1061996402 + LOAD_ONE_INDEXED message547, lwxs[16], $s0, $a3, $a2, -483193101, 1932772406 + LOAD_ONE_INDEXED message548, lwxs[16], $s2, $s0, $a2, 329968697, -1319874784 + LOAD_ONE_INDEXED message549, lwxs[16], $a1, $a0, $a2, 73279366, -293117464 + LOAD_ONE_INDEXED message550, lwxs[16], $s0, $s2, $a3, -117222797, 468891188 + LOAD_ONE_INDEXED message551, lwxs[16], $a3, $a0, $a3, -433441104, 1733764417 + LOAD_ONE_INDEXED message552, lwxs[16], $a3, $s0, $s1, 429960834, -1719843335 + LOAD_ONE_INDEXED message553, lwxs[16], $s0, $s1, $s2, 497781088, -1991124350 + LOAD_ONE_INDEXED message554, lwxs[16], $a1, $s1, $s3, 235725329, -942901316 + LOAD_ONE_INDEXED message555, lwxs[16], $a3, $a1, $s3, -29798356, 119193424 + LOAD_ONE_INDEXED message556, lwxs[16], $s1, $s3, $a1, 82899072, -331596284 + LOAD_ONE_INDEXED message557, lwxs[16], $s0, $s2, $a2, -216977686, 867910746 + LOAD_ONE_INDEXED message558, lwxs[16], $a0, $a1, $s1, 43254277, -173017104 + LOAD_ONE_INDEXED message559, lwxs[16], $a2, $s2, $a0, -230074003, 920296015 + LOAD_ONE_INDEXED message560, lwxs[16], $a1, $a2, $s2, -288984833, 1155939334 + LOAD_ONE_INDEXED message561, lwxs[16], $a2, $a0, $a2, 465122182, -1860488726 + LOAD_ONE_INDEXED message562, lwxs[16], $a3, $a1, $s1, 435549426, -1742197704 + LOAD_ONE_INDEXED message563, lwxs[16], $a3, $s3, $s1, -400451678, 1601806714 + LOAD_ONE_INDEXED message564, lwxs[16], $s3, $s1, $a2, -237578338, 950313356 + LOAD_ONE_INDEXED message565, lwxs[16], $a3, $s3, $a2, -95959018, 383836076 + LOAD_ONE_INDEXED message566, lwxs[16], $a2, $s3, $a3, -566956, 2267826 + LOAD_ONE_INDEXED message567, lwxs[16], $s3, $s3, $s1, 283663313, -1134653251 + LOAD_ONE_INDEXED message568, lwxs[16], $s1, $s0, $a1, -233427676, 933710705 + LOAD_ONE_INDEXED message569, lwxs[16], $s3, $a3, $s0, 220959901, -883839600 + LOAD_ONE_INDEXED message570, lwxs[16], $a1, $a0, $a1, 517544959, -2070179835 + +# sb[u12] + STORE_ONE message571, sb[u12], $a7, $a4, 1160, -1158, 0xba + STORE_ONE message572, sb[u12], $t0, $s7, 2118, -2113, 0x16 + STORE_ONE message573, sb[u12], $t2, $s5, 2553, -2552, 0x80 + STORE_ONE message574, sb[u12], $t0, $a6, 1710, -1709, 0x9f + STORE_ONE message575, sb[u12], $a3, $s3, 3310, -3306, 0x68 + STORE_ONE message576, sb[u12], $s5, $t1, 2045, -2039, 0x96 + STORE_ONE message577, sb[u12], $s4, $s7, 3986, -3980, 0xc5 + STORE_ONE message578, sb[u12], $t1, $a3, 2090, -2088, 0x40 + STORE_ONE message579, sb[u12], $a6, $a1, 1522, -1522, 0xf2 + STORE_ONE message580, sb[u12], $a5, $s2, 2377, -2374, 0x10 + STORE_ONE message581, sb[u12], $a0, $a7, 1737, -1732, 0x49 + STORE_ONE message582, sb[u12], $s7, $t2, 2240, -2239, 0x2c + STORE_ONE message583, sb[u12], $s3, $a5, 1093, -1092, 0xee + STORE_ONE message584, sb[u12], $t2, $t1, 915, -911, 0x9c + STORE_ONE message585, sb[u12], $a2, $a7, 2052, -2048, 0x2 + +# sb[16] + STORE_ONE message586, sb[16], $r0, $a3, 2, 3, 0x0 + STORE_ONE message587, sb[16], $a2, $s3, 1, 2, 0x16 + STORE_ONE message588, sb[16], $r0, $a0, 3, -2, 0x0 + STORE_ONE message589, sb[16], $a3, $s1, 0, 7, 0xa0 + STORE_ONE message590, sb[16], $a2, $s2, 2, 4, 0x90 + STORE_ONE message591, sb[16], $a2, $s0, 2, -2, 0x38 + STORE_ONE message592, sb[16], $a2, $a3, 3, 2, 0x24 + STORE_ONE message593, sb[16], $a2, $s0, 1, 2, 0x0 + STORE_ONE message594, sb[16], $s3, $a1, 0, 6, 0x93 + STORE_ONE message595, sb[16], $a3, $s0, 1, 4, 0x24 + STORE_ONE message596, sb[16], $s2, $s1, 2, 2, 0x52 + STORE_ONE message597, sb[16], $s2, $s3, 1, 1, 0xa + STORE_ONE message598, sb[16], $a3, $s3, 2, -2, 0xe8 + STORE_ONE message599, sb[16], $a0, $a1, 2, 3, 0x61 + STORE_ONE message600, sb[16], $a0, $a3, 3, -2, 0xb0 + +# sb[gp] + STORE_ONE_SPECIAL message601, sb[gp], $gp, $a3, 121058, -121057, 0x68 + STORE_ONE_SPECIAL message602, sb[gp], $gp, $a3, 119583, -119583, 0x94 + STORE_ONE_SPECIAL message603, sb[gp], $gp, $s2, 260053, -260052, 0x72 + STORE_ONE_SPECIAL message604, sb[gp], $gp, $a1, 8584, -8581, 0xc3 + STORE_ONE_SPECIAL message605, sb[gp], $gp, $s3, 162114, -162108, 0xdc + STORE_ONE_SPECIAL message606, sb[gp], $gp, $t0, 227969, -227962, 0x88 + STORE_ONE_SPECIAL message607, sb[gp], $gp, $s3, 254057, -254050, 0xed + STORE_ONE_SPECIAL message608, sb[gp], $gp, $s3, 142976, -142969, 0x5f + STORE_ONE_SPECIAL message609, sb[gp], $gp, $s5, 85314, -85310, 0xc8 + STORE_ONE_SPECIAL message610, sb[gp], $gp, $s7, 95765, -95760, 0x35 + STORE_ONE_SPECIAL message611, sb[gp], $gp, $a0, 137216, -137215, 0xce + STORE_ONE_SPECIAL message612, sb[gp], $gp, $t1, 99817, -99815, 0x26 + STORE_ONE_SPECIAL message613, sb[gp], $gp, $s7, 229997, -229994, 0x50 + STORE_ONE_SPECIAL message614, sb[gp], $gp, $a7, 12276, -12274, 0x9c + STORE_ONE_SPECIAL message615, sb[gp], $gp, $t3, 69799, -69799, 0x3d + +# sb[s9] + STORE_ONE message616, sb[s9], $s4, $a7, -161, 161, 0x18 + STORE_ONE message617, sb[s9], $s7, $a5, -115, 117, 0x81 + STORE_ONE message618, sb[s9], $a3, $s3, 229, -225, 0xc2 + STORE_ONE message619, sb[s9], $t2, $a1, 67, -60, 0x38 + STORE_ONE message620, sb[s9], $s5, $a3, 58, -57, 0x5b + STORE_ONE message621, sb[s9], $a4, $t3, -48, 55, 0x80 + STORE_ONE message622, sb[s9], $a5, $s3, -43, 46, 0x85 + STORE_ONE message623, sb[s9], $a2, $a1, 248, -245, 0x22 + STORE_ONE message624, sb[s9], $s1, $t0, 184, -180, 0x70 + STORE_ONE message625, sb[s9], $t1, $t0, -241, 244, 0xee + STORE_ONE message626, sb[s9], $s5, $a1, -234, 235, 0x10 + STORE_ONE message627, sb[s9], $t2, $s2, -239, 242, 0x1e + STORE_ONE message628, sb[s9], $s0, $a7, -165, 169, 0xc7 + STORE_ONE message629, sb[s9], $s3, $t0, -199, 206, 0xa0 + STORE_ONE message630, sb[s9], $s7, $t1, 180, -174, 0x98 + +# sbx + STORE_ONE_INDEXED message631, sbx, $a4, $t1, $s3, -1574287822, 1574287822, 0xfe + STORE_ONE_INDEXED message632, sbx, $t1, $s4, $s3, 1979699608, -1979699605, 0x99 + STORE_ONE_INDEXED message633, sbx, $t0, $a4, $s5, -1309968153, 1309968158, 0x54 + STORE_ONE_INDEXED message634, sbx, $s2, $a4, $t3, -958573360, 958573367, 0x75 + STORE_ONE_INDEXED message635, sbx, $a7, $s0, $s4, 1763689577, -1763689573, 0xaa + STORE_ONE_INDEXED message636, sbx, $t3, $s5, $a3, 1030827308, -1030827306, 0xe1 + STORE_ONE_INDEXED message637, sbx, $t3, $s0, $s2, 1887318020, -1887318019, 0x9e + STORE_ONE_INDEXED message638, sbx, $s5, $s6, $a7, 388548465, -388548460, 0x64 + STORE_ONE_INDEXED message639, sbx, $a2, $t3, $s6, -421121032, 421121032, 0x9c + STORE_ONE_INDEXED message640, sbx, $s0, $a1, $a3, -171314300, 171314301, 0x54 + STORE_ONE_INDEXED message641, sbx, $a4, $a3, $a5, -1849084165, 1849084167, 0x70 + STORE_ONE_INDEXED message642, sbx, $t1, $a7, $s7, 1392983028, -1392983028, 0xba + STORE_ONE_INDEXED message643, sbx, $a7, $a2, $a4, -925831078, 925831085, 0xa4 + STORE_ONE_INDEXED message644, sbx, $s7, $a7, $s0, 1537995505, -1537995499, 0x87 + STORE_ONE_INDEXED message645, sbx, $t1, $a5, $a3, -1558649890, 1558649895, 0x90 + STORE_ONE_INDEXED message646, sbx, $a4, $a5, $a7, 1815928, -1815922, 0x34 + STORE_ONE_INDEXED message647, sbx, $s4, $a2, $s2, 2010077582, -2010077576, 0xb + STORE_ONE_INDEXED message648, sbx, $s6, $a5, $t0, -293779635, 293779637, 0x4 + STORE_ONE_INDEXED message649, sbx, $s5, $a6, $t1, 1394515769, -1394515769, 0xa + STORE_ONE_INDEXED message650, sbx, $a2, $s3, $a6, -612738550, 612738554, 0xc2 + STORE_ONE_INDEXED message651, sbx, $s5, $s4, $s1, 2011385364, -2011385358, 0x8e + STORE_ONE_INDEXED message652, sbx, $s0, $a0, $a6, 925587052, -925587050, 0xf0 + STORE_ONE_INDEXED message653, sbx, $s0, $a3, $s5, -755215979, 755215980, 0x94 + STORE_ONE_INDEXED message654, sbx, $s5, $t3, $s1, 1798675143, -1798675143, 0xc0 + STORE_ONE_INDEXED message655, sbx, $t3, $a2, $s6, -1059270696, 1059270703, 0xa8 + +# sh[u12] + STORE_ONE message656, sh[u12], $a0, $t0, 2823, -2820, 0xfe82 + STORE_ONE message657, sh[u12], $s5, $s4, 2564, -2561, 0xcf63 + STORE_ONE message658, sh[u12], $s1, $t2, 1175, -1172, 0xc858 + STORE_ONE message659, sh[u12], $a4, $a6, 3559, -3559, 0x6761 + STORE_ONE message660, sh[u12], $s6, $s1, 883, -881, 0x9a82 + STORE_ONE message661, sh[u12], $a1, $a6, 96, -94, 0x7806 + STORE_ONE message662, sh[u12], $s6, $s7, 3366, -3363, 0x5938 + STORE_ONE message663, sh[u12], $a1, $t3, 3621, -3620, 0xc87d + STORE_ONE message664, sh[u12], $s0, $t3, 3400, -3400, 0xe8c2 + STORE_ONE message665, sh[u12], $a3, $s3, 37, -31, 0xb464 + STORE_ONE message666, sh[u12], $a5, $s5, 3730, -3730, 0x3d82 + STORE_ONE message667, sh[u12], $t0, $a0, 965, -963, 0x182f + STORE_ONE message668, sh[u12], $a4, $t0, 2012, -2007, 0x5444 + STORE_ONE message669, sh[u12], $a2, $s1, 1673, -1673, 0x31ac + STORE_ONE message670, sh[u12], $s1, $s5, 601, -599, 0x985a + +# sh[16] + STORE_ONE message671, sh[16], $a2, $s3, 2, -2, 0x9fc + STORE_ONE message672, sh[16], $a1, $s1, 4, -2, 0xd991 + STORE_ONE message673, sh[16], $a0, $s2, 0, 2, 0xe4d4 + STORE_ONE message674, sh[16], $r0, $a1, 6, -3, 0x0 + STORE_ONE message675, sh[16], $r0, $s1, 2, 3, 0x0 + STORE_ONE message676, sh[16], $a0, $s2, 0, 4, 0xe66f + STORE_ONE message677, sh[16], $s2, $a0, 0, 2, 0xfa90 + STORE_ONE message678, sh[16], $r0, $s3, 4, 2, 0x0 + STORE_ONE message679, sh[16], $a1, $a2, 6, -6, 0x4626 + STORE_ONE message680, sh[16], $r0, $s3, 0, 2, 0x0 + STORE_ONE message681, sh[16], $a3, $s0, 0, 4, 0x5ce0 + STORE_ONE message682, sh[16], $s2, $a0, 6, -2, 0x587c + STORE_ONE message683, sh[16], $s3, $a0, 0, 0, 0x1fbe + STORE_ONE message684, sh[16], $s3, $s0, 2, 1, 0x58a0 + STORE_ONE message685, sh[16], $r0, $a3, 4, -4, 0x0 + +# sh[gp] + STORE_ONE_SPECIAL message686, sh[gp], $gp, $a7, 97914, -97909, 0xfa94 + STORE_ONE_SPECIAL message687, sh[gp], $gp, $a3, 198792, -198786, 0x212c + STORE_ONE_SPECIAL message688, sh[gp], $gp, $s4, 77340, -77336, 0x9df7 + STORE_ONE_SPECIAL message689, sh[gp], $gp, $t2, 26858, -26858, 0x1ea0 + STORE_ONE_SPECIAL message690, sh[gp], $gp, $a6, 234866, -234860, 0x2dec + STORE_ONE_SPECIAL message691, sh[gp], $gp, $a5, 8908, -8907, 0xdfce + STORE_ONE_SPECIAL message692, sh[gp], $gp, $a1, 257884, -257882, 0xf500 + STORE_ONE_SPECIAL message693, sh[gp], $gp, $a7, 225462, -225456, 0xd710 + STORE_ONE_SPECIAL message694, sh[gp], $gp, $a7, 202850, -202849, 0x782c + STORE_ONE_SPECIAL message695, sh[gp], $gp, $t0, 153756, -153751, 0x1b00 + STORE_ONE_SPECIAL message696, sh[gp], $gp, $s4, 1324, -1319, 0x2842 + STORE_ONE_SPECIAL message697, sh[gp], $gp, $a5, 248518, -248514, 0x1928 + STORE_ONE_SPECIAL message698, sh[gp], $gp, $t2, 209742, -209742, 0xff67 + STORE_ONE_SPECIAL message699, sh[gp], $gp, $a7, 82278, -82273, 0x350 + STORE_ONE_SPECIAL message700, sh[gp], $gp, $s5, 121808, -121806, 0xadfa + +# sh[s9] + STORE_ONE message701, sh[s9], $t2, $s7, 176, -175, 0xa382 + STORE_ONE message702, sh[s9], $s4, $s3, 48, -44, 0xa2c7 + STORE_ONE message703, sh[s9], $a3, $s4, -239, 243, 0xcd14 + STORE_ONE message704, sh[s9], $s2, $a0, 175, -170, 0x8be0 + STORE_ONE message705, sh[s9], $a1, $a5, 23, -21, 0x5466 + STORE_ONE message706, sh[s9], $a2, $s7, 2, 1, 0xef38 + STORE_ONE message707, sh[s9], $t3, $a6, 91, -90, 0x9900 + STORE_ONE message708, sh[s9], $a2, $t1, -116, 121, 0x5d6 + STORE_ONE message709, sh[s9], $s4, $s5, 177, -175, 0x6493 + STORE_ONE message710, sh[s9], $s2, $a4, 23, -17, 0x98a0 + STORE_ONE message711, sh[s9], $s7, $a2, 252, -246, 0x55b0 + STORE_ONE message712, sh[s9], $s5, $s7, 136, -134, 0x8d9e + STORE_ONE message713, sh[s9], $t1, $a1, -204, 204, 0x955a + STORE_ONE message714, sh[s9], $s3, $a5, 203, -199, 0xd3c8 + STORE_ONE message715, sh[s9], $s6, $t2, 23, -18, 0xabf5 + +# shx + STORE_ONE_INDEXED message716, shx, $s5, $a2, $s1, -1185208376, 1185208380, 0xb528 + STORE_ONE_INDEXED message717, shx, $t0, $t2, $t3, -1881705750, 1881705751, 0x43c8 + STORE_ONE_INDEXED message718, shx, $t1, $a7, $s3, 1770890560, -1770890556, 0x7836 + STORE_ONE_INDEXED message719, shx, $t2, $s3, $t0, 111357488, -111357486, 0x184c + STORE_ONE_INDEXED message720, shx, $a3, $a5, $s4, 1190462769, -1190462767, 0x2174 + STORE_ONE_INDEXED message721, shx, $a0, $t2, $s5, 467865414, -467865408, 0xb27c + STORE_ONE_INDEXED message722, shx, $t0, $a3, $t3, 285042131, -285042126, 0x2d1c + STORE_ONE_INDEXED message723, shx, $s3, $t0, $s4, 195994450, -195994444, 0x1ac6 + STORE_ONE_INDEXED message724, shx, $a0, $a5, $a7, 1352360907, -1352360905, 0x65bb + STORE_ONE_INDEXED message725, shx, $s7, $t0, $t1, 2099009744, -2099009739, 0x18c1 + STORE_ONE_INDEXED message726, shx, $s5, $s2, $a3, -242174144, 242174150, 0x5cb0 + STORE_ONE_INDEXED message727, shx, $a2, $t2, $s5, -2122888420, 2122888421, 0x3cb0 + STORE_ONE_INDEXED message728, shx, $t3, $s1, $a7, 650814703, -650814698, 0x3958 + STORE_ONE_INDEXED message729, shx, $s7, $s5, $s2, -340017640, 340017640, 0xd074 + STORE_ONE_INDEXED message730, shx, $a7, $t3, $s6, -1038862342, 1038862347, 0x14e + STORE_ONE_INDEXED message731, shx, $s1, $a1, $a5, -621030588, 621030590, 0x5f14 + STORE_ONE_INDEXED message732, shx, $t0, $s5, $a5, -1826111098, 1826111099, 0x6340 + STORE_ONE_INDEXED message733, shx, $t3, $a3, $a6, -359724274, 359724279, 0x6000 + STORE_ONE_INDEXED message734, shx, $a4, $a3, $a0, 1161270612, -1161270609, 0x5e20 + STORE_ONE_INDEXED message735, shx, $a0, $a2, $t0, 642405130, -642405127, 0xf21c + STORE_ONE_INDEXED message736, shx, $s2, $t1, $a1, -1415439768, 1415439774, 0x3769 + STORE_ONE_INDEXED message737, shx, $s4, $s3, $t3, -1058126984, 1058126984, 0x5700 + STORE_ONE_INDEXED message738, shx, $a5, $a0, $s0, -1060949857, 1060949859, 0xaeef + STORE_ONE_INDEXED message739, shx, $t3, $t0, $s2, 69652912, -69652912, 0x763e + STORE_ONE_INDEXED message740, shx, $a4, $a2, $a7, 529202028, -529202028, 0x2580 + +# shxs + STORE_ONE_INDEXED message741, shxs, $s0, $a1, $a4, 102300096, -204600191, 0x3c1 + STORE_ONE_INDEXED message742, shxs, $a1, $a7, $a4, 558852670, -1117705335, 0x7768 + STORE_ONE_INDEXED message743, shxs, $a7, $a3, $s0, -985714611, 1971429222, 0x8622 + STORE_ONE_INDEXED message744, shxs, $s3, $s4, $s1, -842016971, 1684033944, 0x1092 + STORE_ONE_INDEXED message745, shxs, $s7, $s6, $a5, -1026915704, 2053831411, 0x4ba0 + STORE_ONE_INDEXED message746, shxs, $t0, $a1, $t1, 936597760, -1873195519, 0x7ada + STORE_ONE_INDEXED message747, shxs, $s2, $a7, $a6, -576284484, 1152568973, 0x5843 + STORE_ONE_INDEXED message748, shxs, $t2, $s1, $a6, -1010487808, 2020975620, 0xaff0 + STORE_ONE_INDEXED message749, shxs, $t1, $s4, $a6, -629208168, 1258416340, 0x2b44 + STORE_ONE_INDEXED message750, shxs, $a5, $a4, $a0, 189459358, -378918714, 0x5cb2 + STORE_ONE_INDEXED message751, shxs, $a0, $t3, $a1, 168543633, -337087266, 0xdb45 + STORE_ONE_INDEXED message752, shxs, $s7, $s1, $s5, -383950663, 767901328, 0xaad2 + STORE_ONE_INDEXED message753, shxs, $s5, $s3, $s0, -74461768, 148923541, 0xfb3a + STORE_ONE_INDEXED message754, shxs, $a1, $t2, $a0, -178877856, 357755715, 0x924a + STORE_ONE_INDEXED message755, shxs, $a7, $s7, $t3, -134211012, 268422030, 0x5a61 + STORE_ONE_INDEXED message756, shxs, $a2, $s7, $s6, 436248887, -872497768, 0xe800 + STORE_ONE_INDEXED message757, shxs, $a6, $a7, $s6, -544104827, 1088209656, 0x33f1 + STORE_ONE_INDEXED message758, shxs, $a7, $s3, $t1, -760662117, 1521324239, 0x8520 + STORE_ONE_INDEXED message759, shxs, $s4, $a5, $t1, -175918568, 351837137, 0x776c + STORE_ONE_INDEXED message760, shxs, $a5, $s6, $s4, -583200884, 1166401770, 0x764e + STORE_ONE_INDEXED message761, shxs, $t3, $t0, $s6, 761754835, -1523509668, 0xd40c + STORE_ONE_INDEXED message762, shxs, $a2, $s4, $t0, 660254600, -1320509194, 0xdf1c + STORE_ONE_INDEXED message763, shxs, $s7, $t1, $a6, -566325555, 1132651115, 0x3523 + STORE_ONE_INDEXED message764, shxs, $a2, $t3, $a7, -749413228, 1498826458, 0x8436 + STORE_ONE_INDEXED message765, shxs, $a4, $t0, $t2, -646900624, 1293801254, 0x8b0f + +# sw[u12] + STORE_ONE message766, sw[u12], $a3, $a6, 4067, -4067, 0x605408df + STORE_ONE message767, sw[u12], $a0, $a5, 2410, -2408, 0xebc3ea8 + STORE_ONE message768, sw[u12], $t0, $a6, 1282, -1279, 0xcb0876d8 + STORE_ONE message769, sw[u12], $a4, $s6, 1802, -1802, 0xba4f0dbe + STORE_ONE message770, sw[u12], $s6, $s1, 3258, -3258, 0x9070292 + STORE_ONE message771, sw[u12], $a0, $t1, 3290, -3286, 0x3de86ea4 + STORE_ONE message772, sw[u12], $s1, $a0, 3831, -3827, 0x57f06426 + STORE_ONE message773, sw[u12], $t2, $s2, 426, -422, 0x999cd10e + STORE_ONE message774, sw[u12], $a7, $s1, 436, -433, 0xcd1ed957 + STORE_ONE message775, sw[u12], $a3, $t3, 1945, -1945, 0xf7573715 + STORE_ONE message776, sw[u12], $a5, $s3, 2312, -2311, 0xde306724 + STORE_ONE message777, sw[u12], $a0, $s4, 404, -400, 0xfe6b21fa + STORE_ONE message778, sw[u12], $s3, $a1, 3408, -3404, 0xc2493841 + STORE_ONE message779, sw[u12], $t3, $t0, 1619, -1616, 0x32885c64 + STORE_ONE message780, sw[u12], $t3, $a4, 83, -80, 0x29c730bc + +# sw[16] + STORE_ONE message781, sw[16], $a3, $a0, 28, -26, 0xf1973456 + STORE_ONE message782, sw[16], $s2, $a1, 4, -4, 0xcc16087c + STORE_ONE message783, sw[16], $s1, $s3, 32, -28, 0x7724098e + STORE_ONE message784, sw[16], $a0, $s3, 0, 3, 0x7f99d23f + STORE_ONE message785, sw[16], $s3, $s2, 52, -51, 0x1cb6bffe + STORE_ONE message786, sw[16], $a0, $s0, 60, -59, 0xeccfdcc2 + STORE_ONE message787, sw[16], $s1, $a1, 40, -40, 0xe1cafebf + STORE_ONE message788, sw[16], $s2, $s0, 40, -40, 0x6bdda588 + STORE_ONE message789, sw[16], $a2, $a0, 28, -25, 0x325cbb80 + STORE_ONE message790, sw[16], $s2, $a2, 28, -28, 0x8c879230 + STORE_ONE message791, sw[16], $a2, $s2, 20, -17, 0xc4b014d1 + STORE_ONE message792, sw[16], $a1, $s2, 48, -47, 0x45f22586 + STORE_ONE message793, sw[16], $s1, $s0, 4, -3, 0x301cb53c + STORE_ONE message794, sw[16], $a3, $s2, 36, -35, 0x29066fb + STORE_ONE message795, sw[16], $s2, $s3, 36, -33, 0xde0287ee + +# sw[4x4] + STORE_ONE message796, sw[4x4], $a1, $a5, 4, -4, 0xd002e16b + STORE_ONE message797, sw[4x4], $s6, $s3, 12, -8, 0x137ce040 + STORE_ONE message798, sw[4x4], $s7, $s5, 12, -8, 0x9b916c76 + STORE_ONE message799, sw[4x4], $s0, $a5, 8, -4, 0x10dae673 + STORE_ONE message800, sw[4x4], $s3, $a3, 12, -8, 0x3104afd1 + STORE_ONE message801, sw[4x4], $a1, $s5, 4, 0, 0xb1f22230 + STORE_ONE message802, sw[4x4], $s2, $s7, 8, -8, 0x8f7539ab + STORE_ONE message803, sw[4x4], $a2, $s4, 0, 2, 0xcf5eb1c4 + STORE_ONE message804, sw[4x4], $s5, $a4, 8, -7, 0x23f21ad7 + STORE_ONE message805, sw[4x4], $a5, $a4, 4, -1, 0x24699d1f + STORE_ONE message806, sw[4x4], $s1, $a4, 8, -4, 0x783fff40 + STORE_ONE message807, sw[4x4], $s7, $s2, 12, -10, 0x8a5493cc + STORE_ONE message808, sw[4x4], $s6, $s7, 8, -5, 0x5831758 + STORE_ONE message809, sw[4x4], $a0, $a2, 8, -8, 0x7ec0c4b4 + STORE_ONE message810, sw[4x4], $a0, $a1, 12, -10, 0x53dc6b1e + +# sw[gp16] + STORE_ONE_SPECIAL message811, sw[gp16], $gp, $a2, 64, -61, 0xf0b9b4c4 + STORE_ONE_SPECIAL message812, sw[gp16], $gp, $a0, 80, -79, 0xb6b6d0fe + STORE_ONE_SPECIAL message813, sw[gp16], $gp, $s1, 204, -204, 0xcb48a2e8 + STORE_ONE_SPECIAL message814, sw[gp16], $gp, $a3, 108, -106, 0x7d3324b2 + STORE_ONE_SPECIAL message815, sw[gp16], $gp, $s1, 500, -499, 0xedc40250 + STORE_ONE_SPECIAL message816, sw[gp16], $gp, $s2, 336, -336, 0x8f50e794 + STORE_ONE_SPECIAL message817, sw[gp16], $gp, $a2, 244, -244, 0xa3a59a64 + STORE_ONE_SPECIAL message818, sw[gp16], $gp, $s1, 448, -445, 0x81e828c4 + STORE_ONE_SPECIAL message819, sw[gp16], $gp, $r0, 436, -435, 0x0 + STORE_ONE_SPECIAL message820, sw[gp16], $gp, $a2, 472, -468, 0x239b7c59 + STORE_ONE_SPECIAL message821, sw[gp16], $gp, $s1, 296, -293, 0xb6441221 + STORE_ONE_SPECIAL message822, sw[gp16], $gp, $a2, 104, -101, 0x1fa0412d + STORE_ONE_SPECIAL message823, sw[gp16], $gp, $a2, 268, -267, 0xe28ad89c + STORE_ONE_SPECIAL message824, sw[gp16], $gp, $s1, 12, -9, 0x4c177db0 + STORE_ONE_SPECIAL message825, sw[gp16], $gp, $r0, 508, -507, 0x0 + +# sw[gp] + STORE_ONE_SPECIAL message826, sw[gp], $gp, $t1, 1256212, -1256209, 0x9bf7a4c0 + STORE_ONE_SPECIAL message827, sw[gp], $gp, $s7, 335156, -335152, 0x1e684ba8 + STORE_ONE_SPECIAL message828, sw[gp], $gp, $a0, 1691004, -1691001, 0x7f18ee47 + STORE_ONE_SPECIAL message829, sw[gp], $gp, $a4, 1227428, -1227424, 0x3185808f + STORE_ONE_SPECIAL message830, sw[gp], $gp, $s0, 1940092, -1940089, 0xf63e7320 + STORE_ONE_SPECIAL message831, sw[gp], $gp, $s6, 669684, -669683, 0xc8aefe78 + STORE_ONE_SPECIAL message832, sw[gp], $gp, $s4, 907596, -907595, 0xc52a5945 + STORE_ONE_SPECIAL message833, sw[gp], $gp, $a6, 1096132, -1096129, 0xc1cedd62 + STORE_ONE_SPECIAL message834, sw[gp], $gp, $s1, 461204, -461201, 0xb6aa0369 + STORE_ONE_SPECIAL message835, sw[gp], $gp, $a4, 1508912, -1508910, 0x6214e23e + STORE_ONE_SPECIAL message836, sw[gp], $gp, $s5, 416328, -416327, 0x183fad53 + STORE_ONE_SPECIAL message837, sw[gp], $gp, $s0, 1214072, -1214072, 0x6af683c0 + STORE_ONE_SPECIAL message838, sw[gp], $gp, $a1, 1678396, -1678395, 0xc4ccadca + STORE_ONE_SPECIAL message839, sw[gp], $gp, $s0, 1081964, -1081960, 0x299fb1bb + STORE_ONE_SPECIAL message840, sw[gp], $gp, $a6, 2010592, -2010590, 0xb324b492 + +# sw[s9] + STORE_ONE message841, sw[s9], $s4, $s7, -143, 143, 0x90f732c2 + STORE_ONE message842, sw[s9], $s3, $s4, 144, -143, 0x892b4450 + STORE_ONE message843, sw[s9], $a7, $a0, 226, -223, 0x5ce31003 + STORE_ONE message844, sw[s9], $s4, $s3, -95, 98, 0x4ba6a914 + STORE_ONE message845, sw[s9], $a2, $a4, 27, -25, 0x581c02b7 + STORE_ONE message846, sw[s9], $s6, $a7, 216, -214, 0x1d581a04 + STORE_ONE message847, sw[s9], $a6, $s2, -240, 240, 0x6d7183c9 + STORE_ONE message848, sw[s9], $a2, $s6, -12, 16, 0xed003c5c + STORE_ONE message849, sw[s9], $t1, $t0, 91, -91, 0x423d6c34 + STORE_ONE message850, sw[s9], $a0, $a2, -243, 246, 0x739ef8f0 + STORE_ONE message851, sw[s9], $s1, $a5, -237, 238, 0xdc34d0b3 + STORE_ONE message852, sw[s9], $t2, $s3, -75, 77, 0xcda3f67c + STORE_ONE message853, sw[s9], $a5, $s7, -218, 219, 0x847cceb9 + STORE_ONE message854, sw[s9], $s5, $s1, 235, -234, 0x3e1a88c9 + STORE_ONE message855, sw[s9], $s1, $s4, 118, -115, 0x19e9a9dc + +# sw[sp] + STORE_ONE_SPECIAL message856, sw[sp], $sp, $s2, 104, -103, 0x350e7b3 + STORE_ONE_SPECIAL message857, sw[sp], $sp, $t0, 0, 2, 0xe3d79142 + STORE_ONE_SPECIAL message858, sw[sp], $sp, $t3, 16, -16, 0xa8350be7 + STORE_ONE_SPECIAL message859, sw[sp], $sp, $s5, 88, -88, 0xe78e466c + STORE_ONE_SPECIAL message860, sw[sp], $sp, $s3, 12, -9, 0x91982b89 + STORE_ONE_SPECIAL message861, sw[sp], $sp, $s4, 112, -110, 0xd0629772 + STORE_ONE_SPECIAL message862, sw[sp], $sp, $a2, 88, -88, 0x1bdced56 + STORE_ONE_SPECIAL message863, sw[sp], $sp, $s4, 100, -100, 0xb7273b18 + STORE_ONE_SPECIAL message864, sw[sp], $sp, $s4, 124, -123, 0x1694f4ce + STORE_ONE_SPECIAL message865, sw[sp], $sp, $a7, 56, -56, 0xd2156bd8 + STORE_ONE_SPECIAL message866, sw[sp], $sp, $t0, 104, -100, 0xfe07630 + STORE_ONE_SPECIAL message867, sw[sp], $sp, $s6, 12, -9, 0xa2934e46 + STORE_ONE_SPECIAL message868, sw[sp], $sp, $a2, 44, -41, 0xc02e2525 + STORE_ONE_SPECIAL message869, sw[sp], $sp, $a1, 16, -13, 0x5abfbd34 + STORE_ONE_SPECIAL message870, sw[sp], $sp, $a5, 12, -11, 0xe2408472 + +# swx + STORE_ONE_INDEXED message871, swx, $s3, $s1, $t3, -267022376, 267022378, 0xae5606f2 + STORE_ONE_INDEXED message872, swx, $a3, $s1, $t1, -2050865115, 2050865116, 0xf8e8eec6 + STORE_ONE_INDEXED message873, swx, $s1, $a2, $s2, 470286098, -470286095, 0x85fd1998 + STORE_ONE_INDEXED message874, swx, $s1, $s3, $s6, 558580824, -558580820, 0x31e721bd + STORE_ONE_INDEXED message875, swx, $s2, $a3, $a0, -1315160890, 1315160893, 0xdbd46b6a + STORE_ONE_INDEXED message876, swx, $s2, $s4, $a6, -46089267, 46089268, 0xf3f0eda + STORE_ONE_INDEXED message877, swx, $s0, $t2, $a0, 1565893736, -1565893733, 0x9c50c2c3 + STORE_ONE_INDEXED message878, swx, $s5, $a1, $t1, -1318616795, 1318616795, 0x476174c + STORE_ONE_INDEXED message879, swx, $s0, $a3, $a2, -1253016562, 1253016564, 0xcc1fe50 + STORE_ONE_INDEXED message880, swx, $s4, $a2, $t0, -428619024, 428619027, 0xee3f7f30 + STORE_ONE_INDEXED message881, swx, $s5, $a1, $t1, -1648889980, 1648889981, 0xc1585396 + STORE_ONE_INDEXED message882, swx, $a3, $s5, $a4, -1446250253, 1446250253, 0x6d87dc1 + STORE_ONE_INDEXED message883, swx, $a1, $t1, $s3, 924269755, -924269755, 0xb83828f3 + STORE_ONE_INDEXED message884, swx, $a5, $s3, $s6, -1962913772, 1962913774, 0xe4cd2a7e + STORE_ONE_INDEXED message885, swx, $s7, $t3, $a3, 1225037090, -1225037086, 0xe03c5d4 + STORE_ONE_INDEXED message886, swx, $a3, $t3, $a4, -1104778944, 1104778945, 0xf9d86f10 + STORE_ONE_INDEXED message887, swx, $a3, $t3, $a4, -1004753154, 1004753156, 0x943a140b + STORE_ONE_INDEXED message888, swx, $a1, $t1, $a2, 1613638279, -1613638279, 0x4a82d9c7 + STORE_ONE_INDEXED message889, swx, $a4, $a1, $a0, 1102633316, -1102633313, 0x91de8140 + STORE_ONE_INDEXED message890, swx, $s7, $s6, $t0, -1427384786, 1427384789, 0x502d0d3e + STORE_ONE_INDEXED message891, swx, $s0, $s6, $a0, -1543934228, 1543934231, 0xbfb2b74b + STORE_ONE_INDEXED message892, swx, $a1, $t1, $a2, 1817001073, -1817001071, 0x1d1209e0 + STORE_ONE_INDEXED message893, swx, $t2, $t0, $s5, 169141656, -169141655, 0x33802f08 + STORE_ONE_INDEXED message894, swx, $s5, $t0, $t3, -957047160, 957047162, 0x4baef5e1 + STORE_ONE_INDEXED message895, swx, $t1, $s4, $s2, 1201439944, -1201439940, 0xcdb10990 + +# swxs + STORE_ONE_INDEXED message896, swxs, $a3, $s4, $t1, -506690338, 2026761355, 0x7dfbfc6d + STORE_ONE_INDEXED message897, swxs, $a7, $s4, $s7, -366619988, 1466479954, 0x2ad94f18 + STORE_ONE_INDEXED message898, swxs, $a7, $a0, $a6, -299490627, 1197962511, 0xe6f5623c + STORE_ONE_INDEXED message899, swxs, $s4, $s3, $t0, -192777074, 771108299, 0xea1ee6b2 + STORE_ONE_INDEXED message900, swxs, $a7, $a0, $t3, -481416775, 1925667103, 0x71fb5772 + STORE_ONE_INDEXED message901, swxs, $s0, $s7, $a6, 498553996, -1994215980, 0x9f885748 + STORE_ONE_INDEXED message902, swxs, $s2, $t3, $t1, 371121559, -1484486234, 0x6763425 + STORE_ONE_INDEXED message903, swxs, $t1, $s6, $s2, 310771462, -1243085844, 0x54339880 + STORE_ONE_INDEXED message904, swxs, $a6, $t0, $a2, -319208424, 1276833700, 0x27503c0 + STORE_ONE_INDEXED message905, swxs, $a3, $a0, $a5, -87227538, 348910153, 0xdf9addfc + STORE_ONE_INDEXED message906, swxs, $a7, $t3, $a3, 180676538, -722706149, 0xbbaa505c + STORE_ONE_INDEXED message907, swxs, $s2, $t0, $a7, 327465602, -1309862405, 0x9784cc4c + STORE_ONE_INDEXED message908, swxs, $s4, $t2, $s0, 461538417, -1846153667, 0x14cf412e + STORE_ONE_INDEXED message909, swxs, $a6, $t3, $a0, -528041401, 2112165606, 0xba0eadd4 + STORE_ONE_INDEXED message910, swxs, $a7, $a4, $s5, -78452748, 313810992, 0x25428b10 + STORE_ONE_INDEXED message911, swxs, $t3, $t1, $a6, -275566081, 1102264328, 0xb7df5e77 + STORE_ONE_INDEXED message912, swxs, $a1, $a7, $a3, 327508595, -1310034379, 0xe1a4bbb + STORE_ONE_INDEXED message913, swxs, $s2, $a1, $a6, -121923671, 487694684, 0x7e033432 + STORE_ONE_INDEXED message914, swxs, $s5, $a1, $a5, 39179448, -156717788, 0x4f401f06 + STORE_ONE_INDEXED message915, swxs, $a3, $a2, $a7, -404613987, 1618455950, 0x21d86d90 + STORE_ONE_INDEXED message916, swxs, $a5, $s7, $a1, -504190100, 2016760400, 0xe71f88eb + STORE_ONE_INDEXED message917, swxs, $s5, $a3, $a6, -241242052, 964968212, 0x13e2648e + STORE_ONE_INDEXED message918, swxs, $a7, $s3, $s6, 391055714, -1564222852, 0xc4187810 + STORE_ONE_INDEXED message919, swxs, $t2, $a6, $t3, 220755400, -883021596, 0xbe02a7d0 + STORE_ONE_INDEXED message920, swxs, $a5, $a7, $a4, 164070419, -656281676, 0x29240bda + +# li[16] + LOAD_IMMIDIATE message921, li[16], $s2, 0x45 + LOAD_IMMIDIATE message922, li[16], $s0, 0x61 + LOAD_IMMIDIATE message923, li[16], $a0, 0x76 + LOAD_IMMIDIATE message924, li[16], $s2, 0x56 + LOAD_IMMIDIATE message925, li[16], $a2, 0x4a + LOAD_IMMIDIATE message926, li[16], $a2, 0x56 + LOAD_IMMIDIATE message927, li[16], $s0, 0x24 + LOAD_IMMIDIATE message928, li[16], $s1, 0x47 + LOAD_IMMIDIATE message929, li[16], $a3, 0x73 + LOAD_IMMIDIATE message930, li[16], $a3, 0x7a + LOAD_IMMIDIATE message931, li[16], $a3, 0x36 + LOAD_IMMIDIATE message932, li[16], $s0, 0x7e + LOAD_IMMIDIATE message933, li[16], $a2, 0x2e + LOAD_IMMIDIATE message934, li[16], $a1, 0x38 + LOAD_IMMIDIATE message935, li[16], $s0, 0x63 + +# li[48] + LOAD_IMMIDIATE message936, li[48], $s1, 0xe88802f8 + LOAD_IMMIDIATE message937, li[48], $t0, 0xca7c9510 + LOAD_IMMIDIATE message938, li[48], $s2, 0x6fa34b69 + LOAD_IMMIDIATE message939, li[48], $a4, 0xaad5e96a + LOAD_IMMIDIATE message940, li[48], $s1, 0x6af9999c + LOAD_IMMIDIATE message941, li[48], $s3, 0xf1668e16 + LOAD_IMMIDIATE message942, li[48], $a5, 0x66d91818 + LOAD_IMMIDIATE message943, li[48], $a0, 0xdda3aba4 + LOAD_IMMIDIATE message944, li[48], $a5, 0xdd393f4c + LOAD_IMMIDIATE message945, li[48], $s3, 0x747848a9 + LOAD_IMMIDIATE message946, li[48], $s6, 0xb2a4a54c + LOAD_IMMIDIATE message947, li[48], $a0, 0x5e4cdfc8 + LOAD_IMMIDIATE message948, li[48], $t1, 0xf68fb365 + LOAD_IMMIDIATE message949, li[48], $a2, 0x9f08e274 + LOAD_IMMIDIATE message950, li[48], $t3, 0x651f88dc + +# lui + LOAD_IMMIDIATE_HI message951, lui, $a4, 0x94c22000 + LOAD_IMMIDIATE_HI message952, lui, $s2, 0x29ea8000 + LOAD_IMMIDIATE_HI message953, lui, $a4, 0xbe5c9000 + LOAD_IMMIDIATE_HI message954, lui, $s5, 0xe52cb000 + LOAD_IMMIDIATE_HI message955, lui, $s3, 0xf1618000 + LOAD_IMMIDIATE_HI message956, lui, $a4, 0x74a54000 + LOAD_IMMIDIATE_HI message957, lui, $a5, 0xe4517000 + LOAD_IMMIDIATE_HI message958, lui, $a7, 0x3c117000 + LOAD_IMMIDIATE_HI message959, lui, $a6, 0x56987000 + LOAD_IMMIDIATE_HI message960, lui, $t2, 0x93839000 + LOAD_IMMIDIATE_HI message961, lui, $s1, 0xc4372000 + LOAD_IMMIDIATE_HI message962, lui, $s6, 0xd7aa3000 + LOAD_IMMIDIATE_HI message963, lui, $s4, 0x884a000 + LOAD_IMMIDIATE_HI message964, lui, $a0, 0xa801c000 + LOAD_IMMIDIATE_HI message965, lui, $s6, 0x89c8f000 + +# lsa + THREE_REG_1_IMM message966, lsa, $a6, $a0, $t1, 40, 24, test_ints, test_ints, 0 + THREE_REG_1_IMM message967, lsa, $t2, $a5, $a4, 0, 28, test_ints, test_ints, 3 + THREE_REG_1_IMM message968, lsa, $a6, $s1, $s1, 24, 28, test_ints, test_ints, 3 + THREE_REG_1_IMM message969, lsa, $a7, $t1, $s3, 28, 20, test_ints, test_ints, 3 + THREE_REG_1_IMM message970, lsa, $a1, $s1, $t0, 12, 44, test_ints, test_ints, 0 + THREE_REG_1_IMM message971, lsa, $s6, $a2, $t1, 32, 0, test_ints, test_ints, 3 + THREE_REG_1_IMM message972, lsa, $a4, $a2, $a0, 16, 24, test_ints, test_ints, 3 + THREE_REG_1_IMM message973, lsa, $s4, $s0, $a5, 20, 44, test_ints, test_ints, 0 + THREE_REG_1_IMM message974, lsa, $s0, $s6, $s5, 12, 24, test_ints, test_ints, 2 + THREE_REG_1_IMM message975, lsa, $a2, $a3, $a4, 40, 40, test_ints, test_ints, 3 + THREE_REG_1_IMM message976, lsa, $s6, $a1, $a1, 44, 4, test_ints, test_ints, 2 + THREE_REG_1_IMM message977, lsa, $a6, $a1, $a0, 24, 40, test_ints, test_ints, 3 + THREE_REG_1_IMM message978, lsa, $a2, $a6, $a3, 44, 44, test_ints, test_ints, 2 + THREE_REG_1_IMM message979, lsa, $s7, $a7, $s5, 32, 24, test_ints, test_ints, 3 + THREE_REG_1_IMM message980, lsa, $s6, $a0, $t2, 40, 40, test_ints, test_ints, 1 + THREE_REG_1_IMM message981, lsa, $s2, $s0, $a6, 28, 32, test_ints, test_ints, 3 + THREE_REG_1_IMM message982, lsa, $a1, $s2, $a4, 8, 4, test_ints, test_ints, 2 + THREE_REG_1_IMM message983, lsa, $t1, $s3, $a4, 32, 8, test_ints, test_ints, 3 + THREE_REG_1_IMM message984, lsa, $s3, $a5, $s2, 32, 36, test_ints, test_ints, 0 + THREE_REG_1_IMM message985, lsa, $s3, $t3, $a0, 20, 40, test_ints, test_ints, 2 + THREE_REG_1_IMM message986, lsa, $a6, $s4, $a3, 16, 12, test_ints, test_ints, 3 + THREE_REG_1_IMM message987, lsa, $s7, $t1, $a5, 0, 28, test_ints, test_ints, 2 + THREE_REG_1_IMM message988, lsa, $t2, $s0, $t1, 44, 0, test_ints, test_ints, 3 + THREE_REG_1_IMM message989, lsa, $a6, $a3, $s4, 4, 12, test_ints, test_ints, 1 + THREE_REG_1_IMM message990, lsa, $t1, $a2, $s1, 40, 32, test_ints, test_ints, 3 + THREE_REG_1_IMM message991, lsa, $s4, $s2, $s3, 28, 28, test_ints, test_ints, 2 + THREE_REG_1_IMM message992, lsa, $s6, $s2, $s7, 0, 24, test_ints, test_ints, 2 + THREE_REG_1_IMM message993, lsa, $t2, $a1, $a6, 16, 0, test_ints, test_ints, 3 + THREE_REG_1_IMM message994, lsa, $s7, $a2, $s2, 32, 12, test_ints, test_ints, 2 + THREE_REG_1_IMM message995, lsa, $t1, $a1, $a4, 24, 12, test_ints, test_ints, 0 + THREE_REG_1_IMM message996, lsa, $t1, $s7, $s3, 0, 28, test_ints, test_ints, 2 + THREE_REG_1_IMM message997, lsa, $t3, $t1, $s0, 8, 4, test_ints, test_ints, 3 + THREE_REG_1_IMM message998, lsa, $s5, $a0, $s4, 28, 32, test_ints, test_ints, 0 + THREE_REG_1_IMM message999, lsa, $s2, $a3, $a2, 4, 12, test_ints, test_ints, 2 + THREE_REG_1_IMM message1000, lsa, $s7, $s5, $a7, 44, 44, test_ints, test_ints, 2 + THREE_REG_1_IMM message1001, lsa, $a0, $a1, $s5, 12, 4, test_ints, test_ints, 0 + THREE_REG_1_IMM message1002, lsa, $a1, $a0, $a6, 20, 12, test_ints, test_ints, 3 + THREE_REG_1_IMM message1003, lsa, $s4, $s4, $t3, 16, 44, test_ints, test_ints, 3 + THREE_REG_1_IMM message1004, lsa, $a4, $s6, $s3, 28, 28, test_ints, test_ints, 2 + THREE_REG_1_IMM message1005, lsa, $s5, $s6, $t3, 32, 36, test_ints, test_ints, 3 + +# lwm $fp, -204($a5), 2 + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + + LOAD_STORE_MULTIPLE lwm, message1006, $fp, $a5, -204, 260, 2 + move $s1, $ra + move $s0, $fp + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + li $a0, message1006 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_30 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_31 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + +# lwm $t2, -251($s3), 1 + + LOAD_STORE_MULTIPLE lwm, message1007, $t2, $s3, -251, 287, 1 + move $s0, $t2 + li $a0, message1007 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_14 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + +# lwm $a3, -52($s0), 2 + + LOAD_STORE_MULTIPLE lwm, message1008, $a3, $s0, -52, 104, 2 + move $s0, $a3 + move $s1, $a4 + li $a0, message1008 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_7 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_8 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + +# lwm $t0, 3($s3), 3 + + LOAD_STORE_MULTIPLE lwm, message1009, $t0, $s3, 3, 17, 3 + move $s0, $t0 + move $s1, $t1 + move $s2, $t2 + li $a0, message1009 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_12 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_13 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_14 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + +# lwm $a2, -55($s3), 1 + + LOAD_STORE_MULTIPLE lwm, message1010, $a2, $s3, -55, 87, 1 + move $s0, $a2 + li $a0, message1010 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_6 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + +# swm $sp, -37($a6), 1 + .data + src_message1011: + .ascii "$sp, 2f10b798\n" + .byte 0 + .text + li $a0, src_message1011 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, 0x2f10b798 + LOAD_STORE_MULTIPLE swm, message1011, $sp, $a6, -37, 93, 1 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + li $a0, message1011 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# swm $s4, -211($a1), 4 + .data + src_message1012: + .ascii "$s4, ab4634cc\n$s5, fde9da3a\n$s6, b0b084f2\n$s7, 992324c0\n" + .byte 0 + .text + li $a0, src_message1012 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $s4, 0xab4634cc + li $s5, 0xfde9da3a + li $s6, 0xb0b084f2 + li $s7, 0x992324c0 + LOAD_STORE_MULTIPLE swm, message1012, $s4, $a1, -211, 247, 4 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + li $a0, message1012 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# swm $s6, -77($a4), 3 + .data + src_message1013: + .ascii "$s6, e0c2a22e\n$s7, fa07c370\n$t8, bab6978e\n" + .byte 0 + .text + li $a0, src_message1013 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $s6, 0xe0c2a22e + li $s7, 0xfa07c370 + li $t8, 0xbab6978e + LOAD_STORE_MULTIPLE swm, message1013, $s6, $a4, -77, 85, 3 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + li $a0, message1013 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# swm $t4, -240($s2), 1 + .data + src_message1014: + .ascii "$t4, d1109670\n" + .byte 0 + .text + li $a0, src_message1014 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $t4, 0xd1109670 + LOAD_STORE_MULTIPLE swm, message1014, $t4, $s2, -240, 268, 1 + li $a0, message1014 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# swm $t2, 22($s1), 2 + .data + src_message1015: + .ascii "$t2, 8658e0c0\n$t3, de5a7cc8\n" + .byte 0 + .text + li $a0, src_message1015 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $t2, 0x8658e0c0 + li $t3, 0xde5a7cc8 + LOAD_STORE_MULTIPLE swm, message1015, $t2, $s1, 22, -2, 2 + li $a0, message1015 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# restore.jrc[16] 96, $ra + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -32 + li $ra, label1016 + sw $ra, 92($sp) + restore.jrc[16] 96, $ra + label1016: + move $s0, $ra + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1016: + .ascii "restore.jrc[16] 96, $ra %d\n" + .byte 0 + .text + li $a0, message1016 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[16] 112, $ra, $s0, $s1 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -48 + li $ra, label1017 + sw $ra, 108($sp) + restore.jrc[16] 112, $ra, $s0, $s1 + label1017: + move $s2, $s1 + move $s1, $s0 + move $s0, $ra + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1017: + .ascii "restore.jrc[16] 112, $ra, $s0, $s1 %d\n" + .byte 0 + .text + li $a0, message1017 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_16 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_17 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[16] 128, $fp, $ra, $s0 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -64 + li $ra, label1018 + sw $ra, 120($sp) + restore.jrc[16] 128, $fp, $ra, $s0 + label1018: + move $s2, $s0 + move $s1, $ra + move $s0, $fp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1018: + .ascii "restore.jrc[16] 128, $fp, $ra, $s0 %d\n" + .byte 0 + .text + li $a0, message1018 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_30 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_16 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[16] 176, $fp, $ra, $s0, $s1, $s2, $s3, $s4 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -112 + li $ra, label1019 + sw $ra, 168($sp) + restore.jrc[16] 176, $fp, $ra, $s0, $s1, $s2, $s3, $s4 + label1019: + move $s6, $s4 + move $s5, $s3 + move $s4, $s2 + move $s3, $s1 + move $s2, $s0 + move $s1, $ra + move $s0, $fp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1019: + .ascii "restore.jrc[16] 176, $fp, $ra, $s0, $s1, $s2, $s3, $s4 %d\n" + .byte 0 + .text + li $a0, message1019 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_30 + move $a1, $fp + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_16 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_17 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_18 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_19 + move $a1, $s3 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_20 + move $a1, $s4 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[16] 240, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -176 + li $ra, label1020 + sw $ra, 232($sp) + restore.jrc 240, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 + label1020: + sw $s6, 0($a0) + sw $s7, -4($a0) + sw $t8, -8($a0) + move $s7, $s5 + move $s6, $s4 + move $s5, $s3 + move $s4, $s2 + move $s3, $s1 + move $s2, $s0 + move $s1, $ra + move $s0, $fp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1020: + .ascii "restore.jrc[16] 240, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 %d\n" + .byte 0 + .text + li $a0, message1020 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_30 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_16 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_17 + move $a1, $s3 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_18 + move $a1, $s4 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_19 + move $a1, $s5 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_20 + move $a1, $s6 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_21 + move $a1, $s7 + lapc[48] $t9, mwrap_printf + jalrc $t9 + addiu $sp, 12 + lw $s6, 0($sp) + lw $s7, -4($sp) + lw $t8, -8($sp) + li $a0, reg_name_22 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_23 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_24 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[32] 2496, $a7, $t0 + move $t8, $sp + li $sp, test_data2 + -2432 + li $ra, label1021 + restore.jrc[32] 2496, $a7, $t0 + label1021: + move $s0, $a7 + move $s1, $t0 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1021: + .ascii "restore.jrc[32] 2496, $a7, $t0 %d\n" + .byte 0 + .text + li $a0, message1021 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_11 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_12 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[32] 3480, $t2 + move $t8, $sp + li $sp, test_data2 + -3416 + li $ra, label1022 + restore.jrc[32] 3480, $t2 + label1022: + move $s0, $t2 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1022: + .ascii "restore.jrc[32] 3480, $t2 %d\n" + .byte 0 + .text + li $a0, message1022 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_14 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[32] 1648, $a0, $a1 + move $t8, $sp + li $sp, test_data2 + -1584 + li $ra, label1023 + restore.jrc[32] 1648, $a0, $a1 + label1023: + move $s0, $a0 + move $s1, $a1 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1023: + .ascii "restore.jrc[32] 1648, $a0, $a1 %d\n" + .byte 0 + .text + li $a0, message1023 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_4 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_5 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[32] 2856, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $t3 + move $t8, $sp + li $sp, test_data2 + -2792 + li $ra, label1024 + restore.jrc[32] 2856, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $t3 + label1024: + move $s0, $a4 + move $s1, $a5 + move $s2, $a6 + move $s3, $a7 + move $s4, $t0 + move $s5, $t1 + move $s6, $t2 + move $s7, $t3 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1024: + .ascii "restore.jrc[32] 2856, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $t3 %d\n" + .byte 0 + .text + li $a0, message1024 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_8 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_9 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_10 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_11 + move $a1, $s3 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_12 + move $a1, $s4 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_13 + move $a1, $s5 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_14 + move $a1, $s6 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_15 + move $a1, $s7 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore.jrc[32] 2216, $gp + move $t8, $sp + li $sp, test_data2 + -2152 + li $ra, label1025 + move $t9, $gp + restore.jrc[32] 2216, $gp + label1025: + move $gp, $t9 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1025: + .ascii "restore.jrc[32] 2216, $gp %d\n" + .byte 0 + .text + li $a0, message1025 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_28 + move $a1, $gp + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore 1696, $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -1632 + restore 1696, $t9 + label1026: + move $s0, $t9 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1026: + .ascii "restore 1696, $t9 %d\n" + .byte 0 + .text + li $a0, message1026 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_25 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore 1496, $s1, $gp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -1432 + restore 1496, $s1, $gp + label1027: + move $s0, $s1 + move $s1, $gp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + + .data + message1027: + .ascii "restore 1496, $s1, $gp %d\n" + .byte 0 + .text + li $a0, message1027 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_17 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_28 + move $a1, $gp + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore 104, $gp + move $t8, $sp + li $sp, test_data2 + -40 + sw $gp, 4($t8) + restore 104, $gp + label1028: + lw $gp, 4($t8) + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1028: + .ascii "restore 104, $gp %d\n" + .byte 0 + .text + li $a0, message1028 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_28 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore 2616, $a5, $a6, $a7, $t0, $t1, $t2 + move $t8, $sp + li $sp, test_data2 + -2552 + restore 2616, $a5, $a6, $a7, $t0, $t1, $t2 + label1029: + move $s0, $a5 + move $s1, $a6 + move $s2, $a7 + move $s3, $t0 + move $s4, $t1 + move $s5, $t2 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1029: + .ascii "restore 2616, $a5, $a6, $a7, $t0, $t1, $t2 %d\n" + .byte 0 + .text + li $a0, message1029 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_9 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_10 + move $a1, $s1 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_11 + move $a1, $s2 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_12 + move $a1, $s3 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_13 + move $a1, $s4 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_14 + move $a1, $s5 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# restore 1800, $gp + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + -1736 + restore 1800, $gp + label1030: + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1030: + .ascii "restore 1800, $gp %d\n" + .byte 0 + .text + li $a0, message1030 + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, reg_name_28 + move $a1, $s0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc cleanup_test_data2 + +# save[16] 80, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 + .data + src_message1031: + .ascii "$fp, fa689f75\n$ra, 1c688bea\n$s0, 5c808b67\n$s1, c2d26968\n$s2, 1e152238\n$s3, fca9a1a5\n$s4, 76661001\n$s5, 233ba56b\n$s6, a89de2d8\n$s7, 234a400a\n$t8, 40ff6fa0\n" + .byte 0 + .text + li $a0, src_message1031 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $fp, 0xfa689f75 + li $ra, 0x1c688bea + li $s0, 0x5c808b67 + li $s1, 0xc2d26968 + li $s2, 0x1e152238 + li $s3, 0xfca9a1a5 + li $s4, 0x76661001 + li $s5, 0x233ba56b + li $s6, 0xa89de2d8 + li $s7, 0x234a400a + li $t8, 0x40ff6fa0 + save[16] 80, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1031: + .ascii "save[16] 80, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 %d\n" + .byte 0 + .text + li $a0, message1031 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5 + .data + src_message1032: + .ascii "$ra, 3c251bcc\n$s0, e3f53e91\n$s1, adb3d5c4\n$s2, 7b1bea67\n$s3, 966427bc\n$s4, 9569e26f\n$s5, 26a88cb8\n" + .byte 0 + .text + li $a0, src_message1032 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $ra, 0x3c251bcc + li $s0, 0xe3f53e91 + li $s1, 0xadb3d5c4 + li $s2, 0x7b1bea67 + li $s3, 0x966427bc + li $s4, 0x9569e26f + li $s5, 0x26a88cb8 + save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1032: + .ascii "save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5 %d\n" + .byte 0 + .text + li $a0, message1032 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[16] 32, $ra, $s0 + .data + src_message1033: + .ascii "$ra, 0565def4\n$s0, f2609528\n" + .byte 0 + .text + li $a0, src_message1033 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $ra, 0x565def4 + li $s0, 0xf2609528 + save[16] 32, $ra, $s0 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1033: + .ascii "save[16] 32, $ra, $s0 %d\n" + .byte 0 + .text + li $a0, message1033 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[16] 0, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6 + .data + src_message1034: + .ascii "$ra, 923806e4\n$s0, 8d3e51c9\n$s1, a2ebb62a\n$s2, c88fd690\n$s3, 8063ba58\n$s4, b95e13c8\n$s5, 4e3de233\n$s6, dbf7e475\n" + .byte 0 + .text + li $a0, src_message1034 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $ra, 0x923806e4 + li $s0, 0x8d3e51c9 + li $s1, 0xa2ebb62a + li $s2, 0xc88fd690 + li $s3, 0x8063ba58 + li $s4, 0xb95e13c8 + li $s5, 0x4e3de233 + li $s6, 0xdbf7e475 + save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1034: + .ascii "save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6 %d\n" + .byte 0 + .text + li $a0, message1034 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[16] 208, $fp, $ra, $s0, $s1, $s2, $s3 + .data + src_message1035: + .ascii "$fp, e1962a24\n$ra, 58889c30\n$s0, fed1758e\n$s1, f6d7fc53\n$s2, 7d4ec880\n$s3, 515b21a0\n" + .byte 0 + .text + li $a0, src_message1035 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $fp, 0xe1962a24 + li $ra, 0x58889c30 + li $s0, 0xfed1758e + li $s1, 0xf6d7fc53 + li $s2, 0x7d4ec880 + li $s3, 0x515b21a0 + save[16] 208, $fp, $ra, $s0, $s1, $s2, $s3 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1035: + .ascii "save[16] 208, $fp, $ra, $s0, $s1, $s2, $s3 %d\n" + .byte 0 + .text + li $a0, message1035 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[32] 616, $s3, $gp + .data + src_message1036: + .ascii "$s3, 13a56f08\n$gp, e3a42263\n" + .byte 0 + .text + li $a0, src_message1036 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $s3, 0x13a56f08 + li $gp, 0xe3a42263 + save[32] 616, $s3, $gp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1036: + .ascii "save[32] 616, $s3, $gp %d\n" + .byte 0 + .text + li $a0, message1036 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[32] 3504, $t5 + .data + src_message1037: + .ascii "$t5, 37f0ee90\n" + .byte 0 + .text + li $a0, src_message1037 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $t8, $sp + li $sp, test_data2 + 64 + li $t5, 0x37f0ee90 + save[32] 3504, $t5 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1037: + .ascii "save[32] 3504, $t5 %d\n" + .byte 0 + .text + li $a0, message1037 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[32] 3288, $t5, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1 + .data + src_message1038: + .ascii "$t5, 5c7b08e4\n$a0, f6fa6f06\n$a1, 072cc436\n$a2, e08d250f\n$a3, 7cf9c2b0\n$a4, b767f2a2\n$a5, 93401500\n$a6, 8c7ad451\n$a7, 589b34ba\n$t0, f71368b1\n$t1, 0bfd8b6e\n" + .byte 0 + .text + li $a0, src_message1038 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $t8, $sp + li $sp, test_data2 + 64 + li $t5, 0x5c7b08e4 + li $a0, 0xf6fa6f06 + li $a1, 0x72cc436 + li $a2, 0xe08d250f + li $a3, 0x7cf9c2b0 + li $a4, 0xb767f2a2 + li $a5, 0x93401500 + li $a6, 0x8c7ad451 + li $a7, 0x589b34ba + li $t0, 0xf71368b1 + li $t1, 0xbfd8b6e + save[32] 3288, $t5, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1 + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + .data + message1038: + .ascii "save[32] 3288, $t5, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1 %d\n" + .byte 0 + .text + li $a0, message1038 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[32] 560, $s7, $t8, $gp + .data + src_message1039: + .ascii "$s7, 00ad63b4\n$t8, 8dc2b7c5\n$gp, 9f979d78\n" + .byte 0 + .text + li $a0, src_message1039 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $a0, $sp + move $a0, $sp + sw $gp, 4($a0) + sw $fp, 8($a0) + li $sp, test_data2 + 64 + li $s7, 0xad63b4 + li $t8, 0x8dc2b7c5 + li $gp, 0x9f979d78 + save[32] 560, $s7, $t8, $gp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $a0 + move $sp, $a0 + lw $gp, 4($a0) + lw $fp, 8($a0) + .data + message1039: + .ascii "save[32] 560, $s7, $t8, $gp %d\n" + .byte 0 + .text + li $a0, message1039 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + +# save[32] 1960, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $gp + .data + src_message1040: + .ascii "$a0, e3bc5b52\n$a1, e7a91b40\n$a2, 5b05bf18\n$a3, 459e6a80\n$a4, 68218fea\n$a5, 8be79d00\n$a6, f58513d4\n$a7, 111ff068\n$t0, 9738fc4d\n$t1, 7ed7aa28\n$t2, 854c725a\n$gp, 80d4db98\n" + .byte 0 + .text + li $a0, src_message1040 + lapc[48] $t9, mwrap_printf + jalrc $t9 + move $t8, $sp + sw $gp, 4($t8) + li $sp, test_data2 + 64 + li $a0, 0xe3bc5b52 + li $a1, 0xe7a91b40 + li $a2, 0x5b05bf18 + li $a3, 0x459e6a80 + li $a4, 0x68218fea + li $a5, 0x8be79d00 + li $a6, 0xf58513d4 + li $a7, 0x111ff068 + li $t0, 0x9738fc4d + li $t1, 0x7ed7aa28 + li $t2, 0x854c725a + li $gp, 0x80d4db98 + save[32] 1960, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $gp + li $a1, test_data2 + subu $a1, $a1, $sp + move $sp, $t8 + lw $gp, 4($t8) + .data + message1040: + .ascii "save[32] 1960, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $gp %d\n" + .byte 0 + .text + li $a0, message1040 + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data2 + balc cleanup_test_data2 + move $a0, $zero + lw $ra, 0($sp) + restore 16, $zero + jrc $ra + .set macro + .set reorder + .end main + .size main, .-main diff --git a/none/tests/nanomips/load_store.stderr.exp b/none/tests/nanomips/load_store.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/load_store.stdout.exp b/none/tests/nanomips/load_store.stdout.exp new file mode 100644 index 0000000000..84397dc3d6 --- /dev/null +++ b/none/tests/nanomips/load_store.stdout.exp @@ -0,0 +1,1228 @@ +lb[u12] $t3 ffffffcd 3244($s5) -3239 +lb[u12] $t1 00000001 2897($s3) -2894 +lb[u12] $a7 ffffffab 2852($s5) -2846 +lb[u12] $a4 00000045 3047($t2) -3046 +lb[u12] $t3 ffffffef 633($t0) -629 +lb[u12] $s7 ffffffef 704($a7) -700 +lb[u12] $s1 00000045 940($t2) -939 +lb[u12] $t3 ffffffab 2006($a2) -2000 +lb[u12] $s7 00000045 1428($a6) -1427 +lb[u12] $t1 00000067 308($t1) -308 +lb[u12] $s2 00000023 623($a0) -621 +lb[u12] $s2 00000023 539($a2) -537 +lb[u12] $t2 00000045 2958($s4) -2957 +lb[u12] $s3 ffffffcd 1501($a6) -1496 +lb[u12] $t0 ffffffef 438($s6) -434 +lb[16] $s0 ffffff89 2($s0) 5 +lb[16] $s2 00000067 0($s2) 0 +lb[16] $a3 ffffffcd 0($s0) 5 +lb[16] $s1 00000001 3($s3) 0 +lb[16] $s2 00000067 1($a2) -1 +lb[16] $s2 00000023 2($a3) 0 +lb[16] $a1 00000023 3($s3) -1 +lb[16] $a1 ffffffcd 2($s1) 3 +lb[16] $a2 00000067 1($a0) -1 +lb[16] $s3 00000023 0($s1) 2 +lb[16] $a2 ffffff89 0($a1) 7 +lb[16] $a0 ffffffab 2($s3) 4 +lb[16] $a2 00000067 3($a0) -3 +lb[16] $a3 ffffffcd 2($a1) 3 +lb[16] $a0 00000023 3($a1) -1 +lb[gp] $t3 00000045 37027($gp) -37026 +lb[gp] $s5 ffffffef 55060($gp) -55056 +lb[gp] $t2 ffffffef 182942($gp) -182938 +lb[gp] $s7 00000001 42677($gp) -42674 +lb[gp] $s2 00000067 129018($gp) -129018 +lb[gp] $t1 00000045 68297($gp) -68296 +lb[gp] $a6 00000023 58298($gp) -58296 +lb[gp] $a1 ffffffef 261052($gp) -261048 +lb[gp] $s2 ffffff89 41804($gp) -41797 +lb[gp] $s0 00000023 206952($gp) -206950 +lb[gp] $t0 00000001 1754($gp) -1751 +lb[gp] $t2 00000067 79423($gp) -79423 +lb[gp] $s7 ffffffef 261977($gp) -261973 +lb[gp] $a2 ffffffef 224338($gp) -224334 +lb[gp] $a5 00000023 79898($gp) -79896 +lb[s9] $a0 00000023 38($s7) -36 +lb[s9] $a7 ffffff89 130($a7) -123 +lb[s9] $t2 00000023 -166($a6) 168 +lb[s9] $t1 00000001 22($a4) -19 +lb[s9] $s2 00000045 243($a1) -242 +lb[s9] $s6 00000067 -251($s4) 251 +lb[s9] $t2 ffffffef -188($s3) 192 +lb[s9] $t2 ffffff89 254($s6) -247 +lb[s9] $a1 ffffffef 233($s5) -229 +lb[s9] $a0 00000023 -148($a7) 150 +lb[s9] $s5 00000023 -171($a2) 173 +lb[s9] $a6 00000067 141($s7) -141 +lb[s9] $s0 ffffffab 161($s5) -155 +lb[s9] $a5 ffffffef -98($t3) 102 +lb[s9] $s2 00000067 -24($s2) 24 +lbu[u12] $a4 00000023 1487($t2) -1485 +lbu[u12] $s3 000000ef 1862($s1) -1858 +lbu[u12] $s0 000000ab 6($a2) 0 +lbu[u12] $a4 00000089 1560($a3) -1553 +lbu[u12] $s2 000000ab 279($s6) -273 +lbu[u12] $a7 000000ef 1868($s1) -1864 +lbu[u12] $s0 00000023 1216($a2) -1214 +lbu[u12] $s4 00000045 322($a4) -321 +lbu[u12] $a3 00000023 3587($t2) -3585 +lbu[u12] $t3 00000089 2382($s5) -2375 +lbu[u12] $t0 000000ef 3453($s1) -3449 +lbu[u12] $a4 00000089 1387($t2) -1380 +lbu[u12] $s4 00000001 165($a7) -162 +lbu[u12] $t0 000000ef 2207($a6) -2203 +lbu[u12] $s0 00000045 2390($s0) -2389 +lbu[16] $a0 00000089 2($a0) 5 +lbu[16] $a2 000000cd 2($s1) 3 +lbu[16] $s2 00000023 1($a0) 1 +lbu[16] $s1 000000ab 3($a2) 3 +lbu[16] $a0 000000ef 1($a2) 3 +lbu[16] $s1 00000045 3($a2) -2 +lbu[16] $s0 00000045 1($s3) 0 +lbu[16] $s3 00000089 2($a3) 5 +lbu[16] $s0 000000ab 3($s0) 3 +lbu[16] $a1 00000089 0($a1) 7 +lbu[16] $a1 00000089 2($a1) 5 +lbu[16] $a3 000000ef 1($a1) 3 +lbu[16] $a3 00000045 0($a2) 1 +lbu[16] $s0 00000045 2($a0) -1 +lbu[16] $s3 000000ab 2($a0) 4 +lbu[gp] $s7 00000089 252116($gp) -252109 +lbu[gp] $a4 00000045 116648($gp) -116647 +lbu[gp] $a1 00000089 102080($gp) -102073 +lbu[gp] $s7 000000ab 192460($gp) -192454 +lbu[gp] $a7 00000089 258302($gp) -258295 +lbu[gp] $a5 00000045 238568($gp) -238567 +lbu[gp] $t3 00000023 167780($gp) -167778 +lbu[gp] $a6 000000ab 96928($gp) -96922 +lbu[gp] $s0 00000067 40041($gp) -40041 +lbu[gp] $t2 00000089 9963($gp) -9956 +lbu[gp] $a1 00000067 175804($gp) -175804 +lbu[gp] $a0 00000067 76212($gp) -76212 +lbu[gp] $t3 000000ef 44015($gp) -44011 +lbu[gp] $a4 00000089 73858($gp) -73851 +lbu[gp] $s1 000000ef 34784($gp) -34780 +lbu[s9] $a5 000000cd 226($s1) -221 +lbu[s9] $t3 00000045 -106($a3) 107 +lbu[s9] $t3 00000067 -136($t3) 136 +lbu[s9] $a5 000000ab -191($a7) 197 +lbu[s9] $a7 00000001 -114($s4) 117 +lbu[s9] $s5 000000ab -9($s1) 15 +lbu[s9] $s0 000000cd 21($a1) -16 +lbu[s9] $a2 00000001 113($t3) -110 +lbu[s9] $s0 00000089 -192($a7) 199 +lbu[s9] $s3 000000ab -232($a2) 238 +lbu[s9] $s6 00000089 -34($t1) 41 +lbu[s9] $t0 00000001 -99($a3) 102 +lbu[s9] $a7 00000045 -178($a7) 179 +lbu[s9] $t0 000000ef 87($s2) -83 +lbu[s9] $s3 00000045 -70($a0) 71 +lbux $s3 00000001 $a0($a3) 889890991 +lbux $s6 000000ab $t0($a7) -448736010 +lbux $s5 00000023 $a6($a1) 603183186 +lbux $s3 00000067 $s2($a6) -2047843929 +lbux $s6 00000045 $a6($t1) 1809456981 +lbux $s7 000000cd $s1($s3) 1834948874 +lbux $a4 00000067 $s4($a2) 1701947355 +lbux $s3 00000089 $a6($a3) 702101939 +lbux $s7 00000001 $t0($s7) 174660535 +lbux $t1 00000023 $t0($s4) 1788914066 +lbux $a7 000000cd $s7($a2) -1397035603 +lbux $s3 00000045 $a3($a5) -1667537882 +lbux $t3 00000001 $t2($s5) 473198378 +lbux $a7 00000089 $s0($a7) 1334036086 +lbux $s5 00000067 $a2($t3) 1070998134 +lbux $a2 00000067 $a7($s7) 973969496 +lbux $s7 00000045 $a3($s4) -5756885 +lbux $s2 000000ef $a5($s6) 326176399 +lbux $s0 000000cd $s4($t2) -117404242 +lbux $s4 00000045 $s5($a0) -412386957 +lbux $t3 00000045 $a6($s7) 740462743 +lbux $s0 00000001 $a2($a3) 1115603241 +lbux $s2 00000067 $s3($a5) -499929505 +lbux $s5 00000089 $a1($s2) -986827123 +lbux $s2 000000ef $t0($t3) 456599818 +lbx $t1 00000001 $t1($a4) -1212928684 +lbx $s1 00000023 $s2($s3) -1106623398 +lbx $s3 ffffffcd $s7($s1) -805607767 +lbx $a1 ffffffcd $t0($s7) 247617979 +lbx $a4 00000023 $s1($t3) -1998663231 +lbx $s7 00000001 $s5($s1) -947603245 +lbx $s0 ffffffef $s2($s0) -7671700 +lbx $s0 ffffffcd $s6($s5) 1074890749 +lbx $a6 ffffff89 $s2($s7) 1482043613 +lbx $a2 ffffffcd $a1($t1) -342844116 +lbx $t3 00000067 $s5($s1) -821849392 +lbx $s7 ffffffab $s4($s0) -910590082 +lbx $a2 ffffff89 $a3($t1) -935855097 +lbx $s3 ffffff89 $s6($a5) -101043839 +lbx $s6 ffffffcd $a1($s2) 377157453 +lbx $s2 ffffffcd $s2($s1) 1324616062 +lbx $a0 ffffffab $a4($s3) 1949314331 +lbx $s5 00000045 $a5($t0) -637279835 +lbx $a6 00000045 $a3($t3) -2015198587 +lbx $a6 ffffffef $a3($t2) 861280024 +lbx $a2 ffffffef $a6($s6) -2112295218 +lbx $t0 ffffffef $a6($t0) -1101483484 +lbx $a6 ffffffab $s5($a7) 483558948 +lbx $t2 ffffff89 $a7($s2) 347290951 +lbx $a0 00000045 $s7($s2) -1562598799 +lh[u12] $s6 ffffef01 557($a4) -554 +lh[u12] $s4 ffffcdef 3960($t3) -3956 +lh[u12] $a2 ffffcdef 2931($a0) -2927 +lh[u12] $s5 ffff89ab 743($s0) -737 +lh[u12] $s6 00000123 3692($a5) -3690 +lh[u12] $a1 00002345 3887($a5) -3886 +lh[u12] $a5 ffff89ab 2247($s5) -2241 +lh[u12] $s2 ffffabcd 1077($a1) -1072 +lh[u12] $t1 ffff89ab 3030($s2) -3024 +lh[u12] $a1 ffffcdef 1626($s6) -1622 +lh[u12] $s6 ffffabcd 2633($s5) -2628 +lh[u12] $s5 00002345 3366($t0) -3365 +lh[u12] $a2 ffff89ab 272($a7) -266 +lh[u12] $s4 00004567 1632($s3) -1632 +lh[u12] $a5 ffffcdef 45($a7) -41 +lh[16] $s0 ffffef01 6($a2) -3 +lh[16] $s0 00002345 0($s1) 1 +lh[16] $s0 00002345 0($a2) 1 +lh[16] $a0 ffffcdef 2($a2) 2 +lh[16] $a2 ffffabcd 0($a1) 5 +lh[16] $s0 ffffcdef 4($a1) 0 +lh[16] $a1 ffffabcd 4($s0) 1 +lh[16] $a3 ffff89ab 4($a3) 2 +lh[16] $s1 ffffabcd 6($s0) -1 +lh[16] $a1 ffffef01 6($s2) -3 +lh[16] $a0 00000123 4($a0) -2 +lh[16] $a2 00002345 6($s2) -5 +lh[16] $s3 ffff89ab 4($s3) 2 +lh[16] $a0 ffffef01 6($a1) -3 +lh[16] $s1 ffffef01 2($s1) 1 +lh[gp] $a4 00004567 252712($gp) -252712 +lh[gp] $s4 00000123 260424($gp) -260422 +lh[gp] $a1 00004567 148444($gp) -148444 +lh[gp] $a7 00002345 31802($gp) -31801 +lh[gp] $t2 00000123 225268($gp) -225266 +lh[gp] $s3 00004567 128460($gp) -128460 +lh[gp] $s2 00000123 16464($gp) -16462 +lh[gp] $s5 ffffef01 11552($gp) -11549 +lh[gp] $a5 00002345 151326($gp) -151325 +lh[gp] $s0 00000123 75270($gp) -75268 +lh[gp] $a1 ffffcdef 183456($gp) -183452 +lh[gp] $s6 00002345 52958($gp) -52957 +lh[gp] $a1 ffffcdef 92644($gp) -92640 +lh[gp] $a6 00004567 2756($gp) -2756 +lh[gp] $a3 00002345 140512($gp) -140511 +lh[s9] $a1 ffffcdef 206($s4) -202 +lh[s9] $t2 ffff89ab -125($a5) 131 +lh[s9] $s0 00002345 -32($t3) 33 +lh[s9] $t2 ffffcdef -218($t3) 222 +lh[s9] $s0 00000123 73($s5) -71 +lh[s9] $t3 ffffef01 233($a7) -230 +lh[s9] $t2 ffffef01 142($a4) -139 +lh[s9] $a1 00004567 -150($t2) 150 +lh[s9] $a3 00002345 -248($a1) 249 +lh[s9] $t2 ffff89ab 195($t3) -189 +lh[s9] $t2 ffffef01 196($s3) -193 +lh[s9] $s2 00004567 101($a6) -101 +lh[s9] $s4 00000123 -21($s2) 23 +lh[s9] $s1 ffffcdef 89($a4) -85 +lh[s9] $a1 ffffabcd 96($t0) -91 +lhu[u12] $a6 0000abcd 1732($s3) -1727 +lhu[u12] $s4 00000123 3446($t0) -3444 +lhu[u12] $s7 000089ab 4077($s6) -4071 +lhu[u12] $t1 0000abcd 3802($t1) -3797 +lhu[u12] $s7 0000ef01 2086($a7) -2083 +lhu[u12] $t1 0000cdef 2367($s2) -2363 +lhu[u12] $a6 0000cdef 1861($s4) -1857 +lhu[u12] $s0 000089ab 29($s6) -23 +lhu[u12] $t1 00000123 3984($a5) -3982 +lhu[u12] $s5 0000cdef 1955($s3) -1951 +lhu[u12] $t1 0000ef01 767($s4) -764 +lhu[u12] $s1 0000ef01 1910($a1) -1907 +lhu[u12] $a1 0000abcd 532($a5) -527 +lhu[u12] $a7 00000123 389($s7) -387 +lhu[u12] $s0 0000cdef 705($s6) -701 +lhu[16] $a0 000089ab 2($s2) 4 +lhu[16] $a0 0000abcd 6($s0) -1 +lhu[16] $a3 00004567 2($a2) -2 +lhu[16] $a2 000089ab 2($a1) 4 +lhu[16] $a3 000089ab 0($a1) 6 +lhu[16] $s2 00004567 2($s1) -2 +lhu[16] $a1 0000abcd 2($s3) 3 +lhu[16] $a2 00000123 0($a3) 2 +lhu[16] $a2 00002345 4($s1) -3 +lhu[16] $a1 0000cdef 6($a2) -2 +lhu[16] $s0 000089ab 0($a2) 6 +lhu[16] $a3 00000123 2($a2) 0 +lhu[16] $a3 00000123 2($s0) 0 +lhu[16] $a1 00002345 6($s1) -5 +lhu[16] $s0 0000cdef 6($a1) -2 +lhu[gp] $s4 00000123 102312($gp) -102310 +lhu[gp] $t2 00004567 142072($gp) -142072 +lhu[gp] $a3 00000123 288($gp) -286 +lhu[gp] $t2 0000abcd 64960($gp) -64955 +lhu[gp] $s1 00000123 66440($gp) -66438 +lhu[gp] $s2 0000ef01 123644($gp) -123641 +lhu[gp] $a7 0000ef01 238158($gp) -238155 +lhu[gp] $t2 00000123 60406($gp) -60404 +lhu[gp] $t2 00002345 244354($gp) -244353 +lhu[gp] $s4 0000abcd 100438($gp) -100433 +lhu[gp] $t1 0000cdef 230832($gp) -230828 +lhu[gp] $s5 0000ef01 212118($gp) -212115 +lhu[gp] $s5 00004567 85040($gp) -85040 +lhu[gp] $a3 00002345 185772($gp) -185771 +lhu[gp] $s3 00000123 187508($gp) -187506 +lhu[s9] $a6 00002345 -36($s1) 37 +lhu[s9] $a5 0000cdef 245($s1) -241 +lhu[s9] $s6 0000cdef 161($a4) -157 +lhu[s9] $t3 0000cdef -45($s5) 49 +lhu[s9] $t0 000089ab -249($t0) 255 +lhu[s9] $t1 00000123 -136($s7) 138 +lhu[s9] $a6 0000abcd 68($s3) -63 +lhu[s9] $a7 0000ef01 -37($s3) 40 +lhu[s9] $s4 00002345 46($s3) -45 +lhu[s9] $a0 00002345 215($a3) -214 +lhu[s9] $a7 00002345 50($s0) -49 +lhu[s9] $s6 00004567 -5($t2) 5 +lhu[s9] $a6 00004567 44($s2) -44 +lhu[s9] $t2 000089ab -103($s4) 109 +lhu[s9] $s7 000089ab -239($s5) 245 +lhux $a4 00004567 $a0($s4) -654528500 +lhux $a7 0000abcd $t1($a5) 686463987 +lhux $s7 000089ab $s2($s3) 321234946 +lhux $a2 0000abcd $s3($s5) -706252807 +lhux $a7 0000cdef $s1($a0) 2058105493 +lhux $a0 000089ab $s1($s4) 2061432426 +lhux $a6 0000abcd $a6($t0) -174228961 +lhux $s1 000089ab $s5($a6) -1891267841 +lhux $a5 0000cdef $t0($s3) 444379812 +lhux $s1 0000abcd $a0($a6) 1477314003 +lhux $a6 0000ef01 $a6($a3) 1022790271 +lhux $t3 0000abcd $s3($s5) -1371180769 +lhux $a3 0000abcd $a5($s1) 1308732039 +lhux $a2 00000123 $s3($a4) 1977290650 +lhux $t2 000089ab $a3($s6) -2123376352 +lhux $a0 0000ef01 $a1($a2) -556796586 +lhux $s5 000089ab $s0($s4) 452824138 +lhux $s2 00004567 $t1($a2) 734918056 +lhux $s0 00002345 $s7($s6) -472633215 +lhux $t2 000089ab $s7($s4) -118985054 +lhux $a1 0000abcd $a1($a6) 1677466049 +lhux $a3 000089ab $s2($a6) 818907810 +lhux $a6 00000123 $a1($a0) 1202797780 +lhux $s7 0000ef01 $a2($t3) 18117104 +lhux $a5 0000cdef $s1($t2) -1467127060 +lhuxs $s6 00000123 $s0($a4) 2144670934 +lhuxs $s3 00000123 $t3($a1) -89473330 +lhuxs $s0 0000ef01 $s3($s2) -267348343 +lhuxs $a1 0000abcd $a1($a2) -1313380381 +lhuxs $t1 000089ab $s2($a5) -1576685738 +lhuxs $s5 00000123 $a4($a0) -1971636418 +lhuxs $s7 0000ef01 $a7($a4) 1313342891 +lhuxs $a4 00000123 $s0($a3) -1369196816 +lhuxs $t3 00004567 $a3($a4) -211316008 +lhuxs $t0 00000123 $t0($a2) 222680378 +lhuxs $a1 0000abcd $s1($s7) -1648312169 +lhuxs $a5 00000123 $s0($s5) -683356974 +lhuxs $a3 0000ef01 $a6($a5) -679891161 +lhuxs $t0 0000cdef $t0($s7) -1991485496 +lhuxs $a7 00002345 $a7($a5) 647269793 +lhuxs $s0 0000ef01 $s3($a6) -1902069411 +lhuxs $a4 0000abcd $a1($s1) -1260728525 +lhuxs $s7 0000cdef $s3($a2) 969281574 +lhuxs $a6 00002345 $a1($s3) 1103439083 +lhuxs $s2 0000ef01 $s4($s0) 1447433967 +lhuxs $t1 00004567 $a2($a6) 590755610 +lhuxs $s1 0000ef01 $s4($s7) 1644002363 +lhuxs $t2 00002345 $t0($a2) 1913363249 +lhuxs $s2 00004567 $a6($a1) 1518890000 +lhuxs $t0 0000abcd $s2($s5) -2066803467 +lhx $s7 ffffef01 $a1($s3) -1645284671 +lhx $a7 ffff89ab $s6($s0) 2025043792 +lhx $a4 00000123 $a6($s4) -1589467138 +lhx $t0 00002345 $s5($s3) -841647847 +lhx $t1 00004567 $a2($t3) -113753248 +lhx $s1 ffff89ab $t3($s1) -1975594392 +lhx $a0 ffffef01 $s4($s1) 507222123 +lhx $a7 00000123 $a6($s3) -1948779835 +lhx $s4 00000123 $a2($t3) 1962403784 +lhx $s5 00002345 $s3($a1) 879319795 +lhx $s4 00000123 $a2($t0) 704505059 +lhx $t3 ffffabcd $s0($s5) 590509005 +lhx $s3 ffff89ab $s6($t2) 2131090761 +lhx $t3 ffffef01 $s6($s5) 2089182205 +lhx $s1 00000123 $a4($t3) -851281814 +lhx $s5 ffffabcd $a0($a1) 2114812429 +lhx $s2 00004567 $a5($a7) 1057393146 +lhx $a6 ffff89ab $t2($s3) -1691153629 +lhx $a3 00000123 $s2($a1) 1226810386 +lhx $t0 ffffabcd $s4($a1) -535625239 +lhx $s0 00000123 $t1($a5) 131196226 +lhx $s5 00004567 $s6($a5) 1821462231 +lhx $s6 ffff89ab $s3($t0) 1399877733 +lhx $s1 ffff89ab $t0($s0) 1715178936 +lhx $a7 ffff89ab $s6($s5) -162878604 +lhxs $a6 00004567 $s6($a6) -1820561240 +lhxs $s5 ffffabcd $s2($a4) -49732299 +lhxs $a1 ffff89ab $t2($a7) -2075833304 +lhxs $a0 00004567 $a0($a7) 534268412 +lhxs $a2 ffffef01 $a3($s3) 186289219 +lhxs $a5 ffffcdef $a1($s1) 616178634 +lhxs $t1 ffffabcd $t2($t1) 2142692925 +lhxs $s3 ffff89ab $s5($s7) 68779164 +lhxs $a6 ffff89ab $t0($s5) 66773830 +lhxs $t1 ffffef01 $t3($s1) 1192037485 +lhxs $t0 ffff89ab $a3($s7) 1470801786 +lhxs $t0 ffffcdef $a5($s1) -614769188 +lhxs $s2 00000123 $s4($a4) -200276934 +lhxs $a5 ffffabcd $t3($s0) -136704589 +lhxs $s3 ffffef01 $s7($s3) 1184017041 +lhxs $a7 ffffef01 $s0($a5) 115973761 +lhxs $a0 00002345 $a0($s2) -1643755485 +lhxs $s3 ffff89ab $a4($t1) -1406549684 +lhxs $t1 ffff89ab $s3($s1) 1888714822 +lhxs $t3 ffff89ab $s3($a0) 849762376 +lhxs $a7 ffffabcd $t1($s2) -552712223 +lhxs $a7 ffffcdef $s7($t1) -1646213072 +lhxs $a4 ffff89ab $s5($s2) 199627626 +lhxs $a3 00004567 $s5($s7) 1376987926 +lhxs $s4 ffff89ab $s4($t3) 1934177040 +lw[u12] $a6 01234567 1991($s2) -1991 +lw[u12] $s0 89abcdef 2471($a2) -2467 +lw[u12] $s5 abcdef01 3226($s0) -3223 +lw[u12] $s5 89abcdef 154($s3) -150 +lw[u12] $t1 cdef0123 3717($s2) -3715 +lw[u12] $a4 cdef0123 2522($t0) -2520 +lw[u12] $a1 cdef0123 2154($s1) -2152 +lw[u12] $a2 01234567 3411($a3) -3411 +lw[u12] $s6 89abcdef 2493($s3) -2489 +lw[u12] $s5 cdef0123 2100($a0) -2098 +lw[u12] $a0 abcdef01 2318($t3) -2315 +lw[u12] $a2 89abcdef 2679($s1) -2675 +lw[u12] $s3 01234567 41($s4) -41 +lw[u12] $s0 89abcdef 2061($s3) -2057 +lw[u12] $s4 cdef0123 2422($a7) -2420 +lw[16] $s2 ef012345 4($a1) -3 +lw[16] $s0 cdef0123 32($s1) -30 +lw[16] $a1 ef012345 52($s3) -51 +lw[16] $s2 89abcdef 56($a3) -52 +lw[16] $s0 01234567 40($a2) -40 +lw[16] $s2 89abcdef 52($a1) -48 +lw[16] $s1 01234567 0($s0) 0 +lw[16] $a3 89abcdef 40($s2) -36 +lw[16] $a0 01234567 20($a0) -20 +lw[16] $s1 cdef0123 56($a0) -54 +lw[16] $s3 ef012345 48($s3) -47 +lw[16] $a3 abcdef01 44($s0) -41 +lw[16] $s2 cdef0123 28($s2) -26 +lw[16] $s3 89abcdef 36($s2) -32 +lw[16] $a2 abcdef01 0($s0) 3 +lw[4x4] $s3 abcdef01 12($s2) -9 +lw[4x4] $s2 abcdef01 12($a4) -9 +lw[4x4] $s5 cdef0123 12($s2) -10 +lw[4x4] $s1 abcdef01 0($s6) 3 +lw[4x4] $s2 ef012345 12($a0) -11 +lw[4x4] $a6 89abcdef 4($s3) 0 +lw[4x4] $a1 abcdef01 8($s2) -5 +lw[4x4] $s6 89abcdef 0($s4) 4 +lw[4x4] $a6 cdef0123 4($s6) -2 +lw[4x4] $a3 ef012345 0($a4) 1 +lw[4x4] $s6 ef012345 12($s6) -11 +lw[4x4] $s5 ef012345 4($s6) -3 +lw[4x4] $s6 abcdef01 0($a0) 3 +lw[4x4] $s3 01234567 0($a6) 0 +lw[4x4] $a0 abcdef01 4($s4) -1 +lw[gp16] $a0 cdef0123 356($gp) -354 +lw[gp16] $s2 89abcdef 324($gp) -320 +lw[gp16] $s3 ef012345 312($gp) -311 +lw[gp16] $a0 01234567 504($gp) -504 +lw[gp16] $s2 ef012345 340($gp) -339 +lw[gp16] $a3 abcdef01 256($gp) -253 +lw[gp16] $a3 cdef0123 48($gp) -46 +lw[gp16] $a3 abcdef01 372($gp) -369 +lw[gp16] $a2 01234567 248($gp) -248 +lw[gp16] $a2 01234567 116($gp) -116 +lw[gp16] $a1 01234567 428($gp) -428 +lw[gp16] $a2 ef012345 456($gp) -455 +lw[gp16] $s3 abcdef01 104($gp) -101 +lw[gp16] $a0 89abcdef 88($gp) -84 +lw[gp16] $s3 01234567 456($gp) -456 +lw[gp] $t1 ef012345 354712($gp) -354711 +lw[gp] $a3 89abcdef 1822592($gp) -1822588 +lw[gp] $t3 01234567 521856($gp) -521856 +lw[gp] $a1 cdef0123 1223004($gp) -1223002 +lw[gp] $a1 01234567 152016($gp) -152016 +lw[gp] $a7 89abcdef 158700($gp) -158696 +lw[gp] $t0 01234567 1595072($gp) -1595072 +lw[gp] $s1 abcdef01 4276($gp) -4273 +lw[gp] $t2 ef012345 1688504($gp) -1688503 +lw[gp] $a0 ef012345 1868688($gp) -1868687 +lw[gp] $s5 89abcdef 934824($gp) -934820 +lw[gp] $a5 ef012345 1945912($gp) -1945911 +lw[gp] $s7 89abcdef 1407980($gp) -1407976 +lw[gp] $a0 abcdef01 684520($gp) -684517 +lw[gp] $a1 cdef0123 384136($gp) -384134 +lw[s9] $a6 89abcdef -172($s7) 176 +lw[s9] $s7 cdef0123 198($a7) -196 +lw[s9] $a4 cdef0123 -78($s2) 80 +lw[s9] $t0 ef012345 159($a0) -158 +lw[s9] $a7 89abcdef -241($a4) 245 +lw[s9] $s6 ef012345 -28($a0) 29 +lw[s9] $s7 abcdef01 -73($s1) 76 +lw[s9] $s2 abcdef01 -162($t1) 165 +lw[s9] $a5 cdef0123 -199($a2) 201 +lw[s9] $s1 abcdef01 -101($a3) 104 +lw[s9] $a5 ef012345 -122($a1) 123 +lw[s9] $a1 01234567 178($t2) -178 +lw[s9] $s6 abcdef01 -18($a1) 21 +lw[s9] $s5 01234567 234($a3) -234 +lw[s9] $a4 89abcdef 124($s5) -120 +lw[sp] $s3 89abcdef 88($sp) -84 +lw[sp] $t0 89abcdef 12($sp) -8 +lw[sp] $s0 cdef0123 32($sp) -30 +lw[sp] $t3 abcdef01 84($sp) -81 +lw[sp] $a0 ef012345 88($sp) -87 +lw[sp] $s5 ef012345 0($sp) 1 +lw[sp] $s6 cdef0123 120($sp) -118 +lw[sp] $a0 ef012345 36($sp) -35 +lw[sp] $s7 ef012345 16($sp) -15 +lw[sp] $t3 cdef0123 48($sp) -46 +lw[sp] $a5 89abcdef 36($sp) -32 +lw[sp] $a0 89abcdef 48($sp) -44 +lw[sp] $t3 89abcdef 88($sp) -84 +lw[sp] $s6 89abcdef 28($sp) -24 +lw[sp] $s6 abcdef01 44($sp) -41 +lwx $s7 89abcdef $a1($s2) 1262298496 +lwx $t0 abcdef01 $s4($s6) -1001646245 +lwx $s5 abcdef01 $s1($a7) -1066803923 +lwx $s5 01234567 $s6($s0) 2001926058 +lwx $s0 cdef0123 $s6($a7) -1831537638 +lwx $a5 01234567 $t0($s6) 62963148 +lwx $a7 ef012345 $s1($t0) -729384568 +lwx $t1 89abcdef $a4($t3) 695716329 +lwx $s6 abcdef01 $a0($s1) 1051753763 +lwx $a5 abcdef01 $a6($a5) -1766774547 +lwx $s4 cdef0123 $a1($s7) 1081126295 +lwx $a6 89abcdef $s0($s4) 56058420 +lwx $a2 ef012345 $a5($a3) 1326612065 +lwx $a0 cdef0123 $s1($a3) 32329194 +lwx $a0 ef012345 $s3($a2) 150163437 +lwx $a0 89abcdef $t0($a6) -1908722032 +lwx $s1 01234567 $a5($s1) -1760694703 +lwx $s1 cdef0123 $s3($s0) 734290786 +lwx $s4 89abcdef $a7($a0) 934062396 +lwx $s3 ef012345 $s0($s6) -1969292715 +lwx $t2 01234567 $s0($a0) -348468254 +lwx $s7 ef012345 $a2($t0) 724511641 +lwx $s1 89abcdef $s6($a6) 1736815990 +lwx $a0 abcdef01 $s2($s3) 378999098 +lwx $t1 89abcdef $s3($s6) -653884429 +lwxs[32] $a5 ef012345 $t0($a5) 438830493 +lwxs[32] $a6 89abcdef $a3($s4) 1181166004 +lwxs[32] $s0 01234567 $a3($s2) 272246940 +lwxs[32] $t2 cdef0123 $a5($a4) 1461286550 +lwxs[32] $s5 01234567 $s7($t0) -1096184428 +lwxs[32] $a3 abcdef01 $s5($a7) -1573446685 +lwxs[32] $t3 89abcdef $t3($s2) -132872780 +lwxs[32] $t2 abcdef01 $s4($t3) -1800081621 +lwxs[32] $a1 abcdef01 $a6($a1) -1147217757 +lwxs[32] $s5 01234567 $s2($a7) -2144106872 +lwxs[32] $s0 abcdef01 $a3($t1) 1554235783 +lwxs[32] $a4 89abcdef $s6($t2) -1455776836 +lwxs[32] $a1 01234567 $a2($t1) -1022087856 +lwxs[32] $t3 01234567 $a0($a5) -1965441476 +lwxs[32] $s3 89abcdef $a7($t3) 1971228084 +lwxs[32] $a7 cdef0123 $s0($t1) -538463206 +lwxs[32] $a4 89abcdef $t2($a1) 349411144 +lwxs[32] $a1 cdef0123 $s3($a1) -1631278998 +lwxs[32] $a5 cdef0123 $a3($t3) -1040853118 +lwxs[32] $s1 01234567 $s3($s6) -1965203476 +lwxs[32] $s1 cdef0123 $s1($s3) -505753402 +lwxs[32] $a2 cdef0123 $a5($a3) -1070849086 +lwxs[32] $t2 89abcdef $s5($s7) 1914950400 +lwxs[32] $s5 01234567 $a3($s7) -46076732 +lwxs[32] $a4 01234567 $t1($a0) -538099784 +lwxs[16] $s2 cdef0123 $s0($a1) 1061996402 +lwxs[16] $s0 cdef0123 $a2($a3) 1932772406 +lwxs[16] $s2 89abcdef $a2($s0) -1319874784 +lwxs[16] $a1 01234567 $a2($a0) -293117464 +lwxs[16] $s0 01234567 $a3($s2) 468891188 +lwxs[16] $a3 ef012345 $a3($a0) 1733764417 +lwxs[16] $a3 ef012345 $s1($s0) -1719843335 +lwxs[16] $s0 cdef0123 $s2($s1) -1991124350 +lwxs[16] $a1 01234567 $s3($s1) -942901316 +lwxs[16] $a3 01234567 $s3($a1) 119193424 +lwxs[16] $s1 89abcdef $a1($s3) -331596284 +lwxs[16] $s0 cdef0123 $a2($s2) 867910746 +lwxs[16] $a0 89abcdef $s1($a1) -173017104 +lwxs[16] $a2 abcdef01 $a0($s2) 920296015 +lwxs[16] $a1 cdef0123 $s2($a2) 1155939334 +lwxs[16] $a2 cdef0123 $a2($a0) -1860488726 +lwxs[16] $a3 01234567 $s1($a1) -1742197704 +lwxs[16] $a3 cdef0123 $s1($s3) 1601806714 +lwxs[16] $s3 89abcdef $a2($s1) 950313356 +lwxs[16] $a3 89abcdef $a2($s3) 383836076 +lwxs[16] $a2 cdef0123 $a3($s3) 2267826 +lwxs[16] $s3 ef012345 $s1($s3) -1134653251 +lwxs[16] $s1 ef012345 $a1($s0) 933710705 +lwxs[16] $s3 89abcdef $s0($a3) -883839600 +lwxs[16] $a1 ef012345 $a1($a0) -2070179835 +sb[u12] $a7 0xba 1160($a4) 1160 -1158 mem: 01ba456789abcdef +sb[u12] $t0 0x16 2118($s7) 2118 -2113 mem: 0123456789ab16ef +sb[u12] $t2 0x80 2553($s5) 2553 -2552 mem: 0123806789abcdef +sb[u12] $t0 0x9f 1710($a6) 1710 -1709 mem: 01239f6789abcdef +sb[u12] $a3 0x68 3310($s3) 3310 -3306 mem: 0123456789abcd68 +sb[u12] $s5 0x96 2045($t1) 2045 -2039 mem: 012345678996cdef +sb[u12] $s4 0xc5 3986($s7) 3986 -3980 mem: 0123456789c5cdef +sb[u12] $t1 0x40 2090($a3) 2090 -2088 mem: 0140456789abcdef +sb[u12] $a6 0xf2 1522($a1) 1522 -1522 mem: 012345f289abcdef +sb[u12] $a5 0x10 2377($s2) 2377 -2374 mem: 1023456789abcdef +sb[u12] $a0 0x49 1737($a7) 1737 -1732 mem: 0123456789ab49ef +sb[u12] $s7 0x2c 2240($t2) 2240 -2239 mem: 01232c6789abcdef +sb[u12] $s3 0xee 1093($a5) 1093 -1092 mem: 0123ee6789abcdef +sb[u12] $t2 0x9c 915($t1) 915 -911 mem: 0123456789abcd9c +sb[u12] $a2 0x2 2052($a7) 2052 -2048 mem: 0123456789abcd02 +sb[16] $r0 0x0 2($a3) 2 3 mem: 0123456789ab00ef +sb[16] $a2 0x16 1($s3) 1 2 mem: 1623456789abcdef +sb[16] $r0 0x0 3($a0) 3 -2 mem: 0123006789abcdef +sb[16] $a3 0xa0 0($s1) 0 7 mem: 01234567a0abcdef +sb[16] $a2 0x90 2($s2) 2 4 mem: 012345678990cdef +sb[16] $a2 0x38 2($s0) 2 -2 mem: 0123453889abcdef +sb[16] $a2 0x24 3($a3) 3 2 mem: 0123456789ab24ef +sb[16] $a2 0x0 1($s0) 1 2 mem: 0023456789abcdef +sb[16] $s3 0x93 0($a1) 0 6 mem: 012345678993cdef +sb[16] $a3 0x24 1($s0) 1 4 mem: 0123456789ab24ef +sb[16] $s2 0x52 2($s1) 2 2 mem: 0123456789abcd52 +sb[16] $s2 0xa 1($s3) 1 1 mem: 010a456789abcdef +sb[16] $a3 0xe8 2($s3) 2 -2 mem: 012345e889abcdef +sb[16] $a0 0x61 2($a1) 2 3 mem: 0123456789ab61ef +sb[16] $a0 0xb0 3($a3) 3 -2 mem: 0123b06789abcdef +sb[gp] $a3 0x68 121058($gp) -121057 mem: 0123686789abcdef +sb[gp] $a3 0x94 119583($gp) -119583 mem: 0123459489abcdef +sb[gp] $s2 0x72 260053($gp) -260052 mem: 0123726789abcdef +sb[gp] $a1 0xc3 8584($gp) -8581 mem: c323456789abcdef +sb[gp] $s3 0xdc 162114($gp) -162108 mem: 0123456789dccdef +sb[gp] $t0 0x88 227969($gp) -227962 mem: 0123456788abcdef +sb[gp] $s3 0xed 254057($gp) -254050 mem: 01234567edabcdef +sb[gp] $s3 0x5f 142976($gp) -142969 mem: 012345675fabcdef +sb[gp] $s5 0xc8 85314($gp) -85310 mem: 0123456789abcdc8 +sb[gp] $s7 0x35 95765($gp) -95760 mem: 0123456789ab35ef +sb[gp] $a0 0xce 137216($gp) -137215 mem: 0123ce6789abcdef +sb[gp] $t1 0x26 99817($gp) -99815 mem: 0126456789abcdef +sb[gp] $s7 0x50 229997($gp) -229994 mem: 5023456789abcdef +sb[gp] $a7 0x9c 12276($gp) -12274 mem: 019c456789abcdef +sb[gp] $t3 0x3d 69799($gp) -69799 mem: 0123453d89abcdef +sb[s9] $s4 0x18 -161($a7) -161 161 mem: 0123451889abcdef +sb[s9] $s7 0x81 -115($a5) -115 117 mem: 0181456789abcdef +sb[s9] $a3 0xc2 229($s3) 229 -225 mem: 0123456789abcdc2 +sb[s9] $t2 0x38 67($a1) 67 -60 mem: 0123456738abcdef +sb[s9] $s5 0x5b 58($a3) 58 -57 mem: 01235b6789abcdef +sb[s9] $a4 0x80 -48($t3) -48 55 mem: 0123456780abcdef +sb[s9] $a5 0x85 -43($s3) -43 46 mem: 8523456789abcdef +sb[s9] $a2 0x22 248($a1) 248 -245 mem: 2223456789abcdef +sb[s9] $s1 0x70 184($t0) 184 -180 mem: 0123456789abcd70 +sb[s9] $t1 0xee -241($t0) -241 244 mem: ee23456789abcdef +sb[s9] $s5 0x10 -234($a1) -234 235 mem: 0123106789abcdef +sb[s9] $t2 0x1e -239($s2) -239 242 mem: 1e23456789abcdef +sb[s9] $s0 0xc7 -165($a7) -165 169 mem: 0123456789abcdc7 +sb[s9] $s3 0xa0 -199($t0) -199 206 mem: 01234567a0abcdef +sb[s9] $s7 0x98 180($t1) 180 -174 mem: 012345678998cdef +sbx $a4 0xfe $s3($t1) -1574287822 1574287822 mem: 012345fe89abcdef +sbx $t1 0x99 $s3($s4) 1979699608 -1979699605 mem: 9923456789abcdef +sbx $t0 0x54 $s5($a4) -1309968153 1309968158 mem: 0123456789ab54ef +sbx $s2 0x75 $t3($a4) -958573360 958573367 mem: 0123456775abcdef +sbx $a7 0xaa $s4($s0) 1763689577 -1763689573 mem: 0123456789abcdaa +sbx $t3 0xe1 $a3($s5) 1030827308 -1030827306 mem: 01e1456789abcdef +sbx $t3 0x9e $s2($s0) 1887318020 -1887318019 mem: 01239e6789abcdef +sbx $s5 0x64 $a7($s6) 388548465 -388548460 mem: 0123456789ab64ef +sbx $a2 0x9c $s6($t3) -421121032 421121032 mem: 0123459c89abcdef +sbx $s0 0x54 $a3($a1) -171314300 171314301 mem: 0123546789abcdef +sbx $a4 0x70 $a5($a3) -1849084165 1849084167 mem: 0170456789abcdef +sbx $t1 0xba $s7($a7) 1392983028 -1392983028 mem: 012345ba89abcdef +sbx $a7 0xa4 $a4($a2) -925831078 925831085 mem: 01234567a4abcdef +sbx $s7 0x87 $s0($a7) 1537995505 -1537995499 mem: 012345678987cdef +sbx $t1 0x90 $a3($a5) -1558649890 1558649895 mem: 0123456789ab90ef +sbx $a4 0x34 $a7($a5) 1815928 -1815922 mem: 012345678934cdef +sbx $s4 0xb $s2($a2) 2010077582 -2010077576 mem: 01234567890bcdef +sbx $s6 0x4 $t0($a5) -293779635 293779637 mem: 0104456789abcdef +sbx $s5 0xa $t1($a6) 1394515769 -1394515769 mem: 0123450a89abcdef +sbx $a2 0xc2 $a6($s3) -612738550 612738554 mem: 0123456789abcdc2 +sbx $s5 0x8e $s1($s4) 2011385364 -2011385358 mem: 01234567898ecdef +sbx $s0 0xf0 $a6($a0) 925587052 -925587050 mem: 01f0456789abcdef +sbx $s0 0x94 $s5($a3) -755215979 755215980 mem: 0123946789abcdef +sbx $s5 0xc0 $s1($t3) 1798675143 -1798675143 mem: 012345c089abcdef +sbx $t3 0xa8 $s6($a2) -1059270696 1059270703 mem: 01234567a8abcdef +sh[u12] $a0 0xfe82 2823($t0) 2823 -2820 mem: 8223456789abcdfe +sh[u12] $s5 0xcf63 2564($s4) 2564 -2561 mem: 6323456789abcdcf +sh[u12] $s1 0xc858 1175($t2) 1175 -1172 mem: 5823456789abcdc8 +sh[u12] $a4 0x6761 3559($a6) 3559 -3559 mem: 0123676189abcdef +sh[u12] $s6 0x9a82 883($s1) 883 -881 mem: 9a82456789abcdef +sh[u12] $a1 0x7806 96($a6) 96 -94 mem: 7806456789abcdef +sh[u12] $s6 0x5938 3366($s7) 3366 -3363 mem: 3823456789abcd59 +sh[u12] $a1 0xc87d 3621($t3) 3621 -3620 mem: 01c87d6789abcdef +sh[u12] $s0 0xe8c2 3400($t3) 3400 -3400 mem: 0123e8c289abcdef +sh[u12] $a3 0xb464 37($s3) 37 -31 mem: 01234567b464cdef +sh[u12] $a5 0x3d82 3730($s5) 3730 -3730 mem: 01233d8289abcdef +sh[u12] $t0 0x182f 965($a0) 965 -963 mem: 182f456789abcdef +sh[u12] $a4 0x5444 2012($t0) 2012 -2007 mem: 01234567895444ef +sh[u12] $a2 0x31ac 1673($s1) 1673 -1673 mem: 012331ac89abcdef +sh[u12] $s1 0x985a 601($s5) 601 -599 mem: 985a456789abcdef +sh[16] $a2 0x9fc 2($s3) 2 -2 mem: 012309fc89abcdef +sh[16] $a1 0xd991 4($s1) 4 -2 mem: d991456789abcdef +sh[16] $a0 0xe4d4 0($s2) 0 2 mem: e4d4456789abcdef +sh[16] $r0 0x0 6($a1) 6 -3 mem: 0023456789abcd00 +sh[16] $r0 0x0 2($s1) 2 3 mem: 01234567890000ef +sh[16] $a0 0xe66f 0($s2) 0 4 mem: 0123456789abe66f +sh[16] $s2 0xfa90 0($a0) 0 2 mem: fa90456789abcdef +sh[16] $r0 0x0 4($s3) 4 2 mem: 012345670000cdef +sh[16] $a1 0x4626 6($a2) 6 -6 mem: 0123462689abcdef +sh[16] $r0 0x0 0($s3) 0 2 mem: 0000456789abcdef +sh[16] $a3 0x5ce0 0($s0) 0 4 mem: 0123456789ab5ce0 +sh[16] $s2 0x587c 6($a0) 6 -2 mem: 0123456789ab587c +sh[16] $s3 0x1fbe 0($a0) 0 0 mem: 01231fbe89abcdef +sh[16] $s3 0x58a0 2($s0) 2 1 mem: a023456789abcd58 +sh[16] $r0 0x0 4($a3) 4 -4 mem: 0123000089abcdef +sh[gp] $a7 0xfa94 97914($gp) -97909 mem: 0123456789fa94ef +sh[gp] $a3 0x212c 198792($gp) -198786 mem: 01234567212ccdef +sh[gp] $s4 0x9df7 77340($gp) -77336 mem: 0123456789ab9df7 +sh[gp] $t2 0x1ea0 26858($gp) -26858 mem: 01231ea089abcdef +sh[gp] $a6 0x2dec 234866($gp) -234860 mem: 012345672deccdef +sh[gp] $a5 0xdfce 8908($gp) -8907 mem: 01dfce6789abcdef +sh[gp] $a1 0xf500 257884($gp) -257882 mem: f500456789abcdef +sh[gp] $a7 0xd710 225462($gp) -225456 mem: 01234567d710cdef +sh[gp] $a7 0x782c 202850($gp) -202849 mem: 01782c6789abcdef +sh[gp] $t0 0x1b00 153756($gp) -153751 mem: 01234567891b00ef +sh[gp] $s4 0x2842 1324($gp) -1319 mem: 01234567892842ef +sh[gp] $a5 0x1928 248518($gp) -248514 mem: 0123456789ab1928 +sh[gp] $t2 0xff67 209742($gp) -209742 mem: 0123ff6789abcdef +sh[gp] $a7 0x350 82278($gp) -82273 mem: 01234567890350ef +sh[gp] $s5 0xadfa 121808($gp) -121806 mem: adfa456789abcdef +sh[s9] $t2 0xa382 176($s7) 176 -175 mem: 01a3826789abcdef +sh[s9] $s4 0xa2c7 48($s3) 48 -44 mem: 0123456789aba2c7 +sh[s9] $a3 0xcd14 -239($s4) -239 243 mem: 0123456789abcd14 +sh[s9] $s2 0x8be0 175($a0) 175 -170 mem: 01234567898be0ef +sh[s9] $a1 0x5466 23($a5) 23 -21 mem: 5466456789abcdef +sh[s9] $a2 0xef38 2($s7) 2 1 mem: 3823456789abcdef +sh[s9] $t3 0x9900 91($a6) 91 -90 mem: 0199006789abcdef +sh[s9] $a2 0x5d6 -116($t1) -116 121 mem: 012345678905d6ef +sh[s9] $s4 0x6493 177($s5) 177 -175 mem: 6493456789abcdef +sh[s9] $s2 0x98a0 23($a4) 23 -17 mem: 0123456798a0cdef +sh[s9] $s7 0x55b0 252($a2) 252 -246 mem: 0123456755b0cdef +sh[s9] $s5 0x8d9e 136($s7) 136 -134 mem: 8d9e456789abcdef +sh[s9] $t1 0x955a -204($a1) -204 204 mem: 0123955a89abcdef +sh[s9] $s3 0xd3c8 203($a5) 203 -199 mem: 0123456789abd3c8 +sh[s9] $s6 0xabf5 23($t2) 23 -18 mem: 0123456789abf5ef +shx $s5 0xb528 $s1($a2) -1185208376 1185208380 mem: 0123456789abb528 +shx $t0 0x43c8 $t3($t2) -1881705750 1881705751 mem: 0143c86789abcdef +shx $t1 0x7836 $s3($a7) 1770890560 -1770890556 mem: 0123456789ab7836 +shx $t2 0x184c $t0($s3) 111357488 -111357486 mem: 184c456789abcdef +shx $a3 0x2174 $s4($a5) 1190462769 -1190462767 mem: 2174456789abcdef +shx $a0 0xb27c $s5($t2) 467865414 -467865408 mem: 01234567b27ccdef +shx $t0 0x2d1c $t3($a3) 285042131 -285042126 mem: 01234567892d1cef +shx $s3 0x1ac6 $s4($t0) 195994450 -195994444 mem: 012345671ac6cdef +shx $a0 0x65bb $a7($a5) 1352360907 -1352360905 mem: 65bb456789abcdef +shx $s7 0x18c1 $t1($t0) 2099009744 -2099009739 mem: 012345678918c1ef +shx $s5 0x5cb0 $a3($s2) -242174144 242174150 mem: 012345675cb0cdef +shx $a2 0x3cb0 $s5($t2) -2122888420 2122888421 mem: 013cb06789abcdef +shx $t3 0x3958 $a7($s1) 650814703 -650814698 mem: 01234567893958ef +shx $s7 0xd074 $s2($s5) -340017640 340017640 mem: 0123d07489abcdef +shx $a7 0x14e $s6($t3) -1038862342 1038862347 mem: 0123456789014eef +shx $s1 0x5f14 $a5($a1) -621030588 621030590 mem: 5f14456789abcdef +shx $t0 0x6340 $a5($s5) -1826111098 1826111099 mem: 0163406789abcdef +shx $t3 0x6000 $a6($a3) -359724274 359724279 mem: 01234567896000ef +shx $a4 0x5e20 $a0($a3) 1161270612 -1161270609 mem: 2023456789abcd5e +shx $a0 0xf21c $t0($a2) 642405130 -642405127 mem: 1c23456789abcdf2 +shx $s2 0x3769 $a1($t1) -1415439768 1415439774 mem: 012345673769cdef +shx $s4 0x5700 $t3($s3) -1058126984 1058126984 mem: 0123570089abcdef +shx $a5 0xaeef $s0($a0) -1060949857 1060949859 mem: aeef456789abcdef +shx $t3 0x763e $s2($t0) 69652912 -69652912 mem: 0123763e89abcdef +shx $a4 0x2580 $a7($a2) 529202028 -529202028 mem: 0123258089abcdef +shxs $s0 0x3c1 $a4($a1) 102300096 -204600191 mem: 0103c16789abcdef +shxs $a1 0x7768 $a4($a7) 558852670 -1117705335 mem: 01234567897768ef +shxs $a7 0x8622 $s0($a3) -985714611 1971429222 mem: 0123862289abcdef +shxs $s3 0x1092 $s1($s4) -842016971 1684033944 mem: 1092456789abcdef +shxs $s7 0x4ba0 $a5($s6) -1026915704 2053831411 mem: a023456789abcd4b +shxs $t0 0x7ada $t1($a1) 936597760 -1873195519 mem: 017ada6789abcdef +shxs $s2 0x5843 $a6($a7) -576284484 1152568973 mem: 01234567895843ef +shxs $t2 0xaff0 $a6($s1) -1010487808 2020975620 mem: 0123456789abaff0 +shxs $t1 0x2b44 $a6($s4) -629208168 1258416340 mem: 0123456789ab2b44 +shxs $a5 0x5cb2 $a0($a4) 189459358 -378918714 mem: 5cb2456789abcdef +shxs $a0 0xdb45 $a1($t3) 168543633 -337087266 mem: 0123db4589abcdef +shxs $s7 0xaad2 $s5($s1) -383950663 767901328 mem: aad2456789abcdef +shxs $s5 0xfb3a $s0($s3) -74461768 148923541 mem: 0123456789fb3aef +shxs $a1 0x924a $a0($t2) -178877856 357755715 mem: 4a23456789abcd92 +shxs $a7 0x5a61 $t3($s7) -134211012 268422030 mem: 012345675a61cdef +shxs $a2 0xe800 $s6($s7) 436248887 -872497768 mem: 01234567e800cdef +shxs $a6 0x33f1 $s6($a7) -544104827 1088209656 mem: 33f1456789abcdef +shxs $a7 0x8520 $t1($s3) -760662117 1521324239 mem: 01234567898520ef +shxs $s4 0x776c $t1($a5) -175918568 351837137 mem: 01776c6789abcdef +shxs $a5 0x764e $s4($s6) -583200884 1166401770 mem: 764e456789abcdef +shxs $t3 0xd40c $s6($t0) 761754835 -1523509668 mem: d40c456789abcdef +shxs $a2 0xdf1c $t0($s4) 660254600 -1320509194 mem: 01234567df1ccdef +shxs $s7 0x3523 $a6($t1) -566325555 1132651115 mem: 01234567893523ef +shxs $a2 0x8436 $a7($t3) -749413228 1498826458 mem: 8436456789abcdef +shxs $a4 0x8b0f $t2($t0) -646900624 1293801254 mem: 012345678b0fcdef +sw[u12] $a3 0x605408df 4067($a6) 4067 -4067 mem: 605408df89abcdef +sw[u12] $a0 0xebc3ea8 2410($a5) 2410 -2408 mem: 3ea8456789ab0ebc +sw[u12] $t0 0xcb0876d8 1282($a6) 1282 -1279 mem: d823456789cb0876 +sw[u12] $a4 0xba4f0dbe 1802($s6) 1802 -1802 mem: ba4f0dbe89abcdef +sw[u12] $s6 0x9070292 3258($s1) 3258 -3258 mem: 0907029289abcdef +sw[u12] $a0 0x3de86ea4 3290($t1) 3290 -3286 mem: 012345673de86ea4 +sw[u12] $s1 0x57f06426 3831($a0) 3831 -3827 mem: 0123456757f06426 +sw[u12] $t2 0x999cd10e 426($s2) 426 -422 mem: 01234567999cd10e +sw[u12] $a7 0xcd1ed957 436($s1) 436 -433 mem: 5723456789cd1ed9 +sw[u12] $a3 0xf7573715 1945($t3) 1945 -1945 mem: f757371589abcdef +sw[u12] $a5 0xde306724 2312($s3) 2312 -2311 mem: 3067246789abcdde +sw[u12] $a0 0xfe6b21fa 404($s4) 404 -400 mem: 01234567fe6b21fa +sw[u12] $s3 0xc2493841 3408($a1) 3408 -3404 mem: 01234567c2493841 +sw[u12] $t3 0x32885c64 1619($t0) 1619 -1616 mem: 642345678932885c +sw[u12] $t3 0x29c730bc 83($a4) 83 -80 mem: bc2345678929c730 +sw[16] $a3 0xf1973456 28($a0) 28 -26 mem: 3456456789abf197 +sw[16] $s2 0xcc16087c 4($a1) 4 -4 mem: cc16087c89abcdef +sw[16] $s1 0x7724098e 32($s3) 32 -28 mem: 012345677724098e +sw[16] $a0 0x7f99d23f 0($s3) 0 3 mem: 3f234567897f99d2 +sw[16] $s3 0x1cb6bffe 52($s2) 52 -51 mem: b6bffe6789abcd1c +sw[16] $a0 0xeccfdcc2 60($s0) 60 -59 mem: cfdcc26789abcdec +sw[16] $s1 0xe1cafebf 40($a1) 40 -40 mem: e1cafebf89abcdef +sw[16] $s2 0x6bdda588 40($s0) 40 -40 mem: 6bdda58889abcdef +sw[16] $a2 0x325cbb80 28($a0) 28 -25 mem: 8023456789325cbb +sw[16] $s2 0x8c879230 28($a2) 28 -28 mem: 8c87923089abcdef +sw[16] $a2 0xc4b014d1 20($s2) 20 -17 mem: d123456789c4b014 +sw[16] $a1 0x45f22586 48($s2) 48 -47 mem: f225866789abcd45 +sw[16] $s1 0x301cb53c 4($s0) 4 -3 mem: 1cb53c6789abcd30 +sw[16] $a3 0x29066fb 36($s2) 36 -35 mem: 9066fb6789abcd02 +sw[16] $s2 0xde0287ee 36($s3) 36 -33 mem: ee23456789de0287 +sw[4x4] $a1 0xd002e16b 4($a5) 4 -4 mem: d002e16b89abcdef +sw[4x4] $s6 0x137ce040 12($s3) 12 -8 mem: 01234567137ce040 +sw[4x4] $s7 0x9b916c76 12($s5) 12 -8 mem: 012345679b916c76 +sw[4x4] $s0 0x10dae673 8($a5) 8 -4 mem: 0123456710dae673 +sw[4x4] $s3 0x3104afd1 12($a3) 12 -8 mem: 012345673104afd1 +sw[4x4] $a1 0xb1f22230 4($s5) 4 0 mem: 01234567b1f22230 +sw[4x4] $s2 0x8f7539ab 8($s7) 8 -8 mem: 8f7539ab89abcdef +sw[4x4] $a2 0xcf5eb1c4 0($s4) 0 2 mem: b1c4456789abcf5e +sw[4x4] $s5 0x23f21ad7 8($a4) 8 -7 mem: f21ad76789abcd23 +sw[4x4] $a5 0x24699d1f 4($a4) 4 -1 mem: 1f2345678924699d +sw[4x4] $s1 0x783fff40 8($a4) 8 -4 mem: 01234567783fff40 +sw[4x4] $s7 0x8a5493cc 12($s2) 12 -10 mem: 93cc456789ab8a54 +sw[4x4] $s6 0x5831758 8($s7) 8 -5 mem: 5823456789058317 +sw[4x4] $a0 0x7ec0c4b4 8($a2) 8 -8 mem: 7ec0c4b489abcdef +sw[4x4] $a0 0x53dc6b1e 12($a1) 12 -10 mem: 6b1e456789ab53dc +sw[gp16] $a2 0xf0b9b4c4 64($gp) -61 mem: c423456789f0b9b4 +sw[gp16] $a0 0xb6b6d0fe 80($gp) -79 mem: b6d0fe6789abcdb6 +sw[gp16] $s1 0xcb48a2e8 204($gp) -204 mem: cb48a2e889abcdef +sw[gp16] $a3 0x7d3324b2 108($gp) -106 mem: 24b2456789ab7d33 +sw[gp16] $s1 0xedc40250 500($gp) -499 mem: c402506789abcded +sw[gp16] $s2 0x8f50e794 336($gp) -336 mem: 8f50e79489abcdef +sw[gp16] $a2 0xa3a59a64 244($gp) -244 mem: a3a59a6489abcdef +sw[gp16] $s1 0x81e828c4 448($gp) -445 mem: c42345678981e828 +sw[gp16] $r0 0x0 436($gp) -435 mem: 0000006789abcd00 +sw[gp16] $a2 0x239b7c59 472($gp) -468 mem: 01234567239b7c59 +sw[gp16] $s1 0xb6441221 296($gp) -293 mem: 2123456789b64412 +sw[gp16] $a2 0x1fa0412d 104($gp) -101 mem: 2d234567891fa041 +sw[gp16] $a2 0xe28ad89c 268($gp) -267 mem: 8ad89c6789abcde2 +sw[gp16] $s1 0x4c177db0 12($gp) -9 mem: b0234567894c177d +sw[gp16] $r0 0x0 508($gp) -507 mem: 0000006789abcd00 +sw[gp] $t1 0x9bf7a4c0 1256212($gp) -1256209 mem: c0234567899bf7a4 +sw[gp] $s7 0x1e684ba8 335156($gp) -335152 mem: 012345671e684ba8 +sw[gp] $a0 0x7f18ee47 1691004($gp) -1691001 mem: 47234567897f18ee +sw[gp] $a4 0x3185808f 1227428($gp) -1227424 mem: 012345673185808f +sw[gp] $s0 0xf63e7320 1940092($gp) -1940089 mem: 2023456789f63e73 +sw[gp] $s6 0xc8aefe78 669684($gp) -669683 mem: aefe786789abcdc8 +sw[gp] $s4 0xc52a5945 907596($gp) -907595 mem: 2a59456789abcdc5 +sw[gp] $a6 0xc1cedd62 1096132($gp) -1096129 mem: 6223456789c1cedd +sw[gp] $s1 0xb6aa0369 461204($gp) -461201 mem: 6923456789b6aa03 +sw[gp] $a4 0x6214e23e 1508912($gp) -1508910 mem: e23e456789ab6214 +sw[gp] $s5 0x183fad53 416328($gp) -416327 mem: 3fad536789abcd18 +sw[gp] $s0 0x6af683c0 1214072($gp) -1214072 mem: 6af683c089abcdef +sw[gp] $a1 0xc4ccadca 1678396($gp) -1678395 mem: ccadca6789abcdc4 +sw[gp] $s0 0x299fb1bb 1081964($gp) -1081960 mem: 01234567299fb1bb +sw[gp] $a6 0xb324b492 2010592($gp) -2010590 mem: b492456789abb324 +sw[s9] $s4 0x90f732c2 -143($s7) -143 143 mem: 90f732c289abcdef +sw[s9] $s3 0x892b4450 144($s4) 144 -143 mem: 2b44506789abcd89 +sw[s9] $a7 0x5ce31003 226($a0) 226 -223 mem: 03234567895ce310 +sw[s9] $s4 0x4ba6a914 -95($s3) -95 98 mem: 14234567894ba6a9 +sw[s9] $a2 0x581c02b7 27($a4) 27 -25 mem: 02b7456789ab581c +sw[s9] $s6 0x1d581a04 216($a7) 216 -214 mem: 1a04456789ab1d58 +sw[s9] $a6 0x6d7183c9 -240($s2) -240 240 mem: 6d7183c989abcdef +sw[s9] $a2 0xed003c5c -12($s6) -12 16 mem: 01234567ed003c5c +sw[s9] $t1 0x423d6c34 91($t0) 91 -91 mem: 423d6c3489abcdef +sw[s9] $a0 0x739ef8f0 -243($a2) -243 246 mem: f023456789739ef8 +sw[s9] $s1 0xdc34d0b3 -237($a5) -237 238 mem: 34d0b36789abcddc +sw[s9] $t2 0xcda3f67c -75($s3) -75 77 mem: f67c456789abcda3 +sw[s9] $a5 0x847cceb9 -218($s7) -218 219 mem: 7cceb96789abcd84 +sw[s9] $s5 0x3e1a88c9 235($s1) 235 -234 mem: 1a88c96789abcd3e +sw[s9] $s1 0x19e9a9dc 118($s4) 118 -115 mem: dc2345678919e9a9 +sw[sp] $s2 0x350e7b3 104($sp) -103 mem: 50e7b36789abcd03 +sw[sp] $t0 0xe3d79142 0($sp) 2 mem: 9142456789abe3d7 +sw[sp] $t3 0xa8350be7 16($sp) -16 mem: a8350be789abcdef +sw[sp] $s5 0xe78e466c 88($sp) -88 mem: e78e466c89abcdef +sw[sp] $s3 0x91982b89 12($sp) -9 mem: 892345678991982b +sw[sp] $s4 0xd0629772 112($sp) -110 mem: 9772456789abd062 +sw[sp] $a2 0x1bdced56 88($sp) -88 mem: 1bdced5689abcdef +sw[sp] $s4 0xb7273b18 100($sp) -100 mem: b7273b1889abcdef +sw[sp] $s4 0x1694f4ce 124($sp) -123 mem: 94f4ce6789abcd16 +sw[sp] $a7 0xd2156bd8 56($sp) -56 mem: d2156bd889abcdef +sw[sp] $t0 0xfe07630 104($sp) -100 mem: 012345670fe07630 +sw[sp] $s6 0xa2934e46 12($sp) -9 mem: 4623456789a2934e +sw[sp] $a2 0xc02e2525 44($sp) -41 mem: 2523456789c02e25 +sw[sp] $a1 0x5abfbd34 16($sp) -13 mem: 34234567895abfbd +sw[sp] $a5 0xe2408472 12($sp) -11 mem: 4084726789abcde2 +swx $s3 0xae5606f2 $t3($s1) -267022376 267022378 mem: 06f2456789abae56 +swx $a3 0xf8e8eec6 $t1($s1) -2050865115 2050865116 mem: e8eec66789abcdf8 +swx $s1 0x85fd1998 $s2($a2) 470286098 -470286095 mem: 982345678985fd19 +swx $s1 0x31e721bd $s6($s3) 558580824 -558580820 mem: 0123456731e721bd +swx $s2 0xdbd46b6a $a0($a3) -1315160890 1315160893 mem: 6a23456789dbd46b +swx $s2 0xf3f0eda $a6($s4) -46089267 46089268 mem: 3f0eda6789abcd0f +swx $s0 0x9c50c2c3 $a0($t2) 1565893736 -1565893733 mem: c3234567899c50c2 +swx $s5 0x476174c $t1($a1) -1318616795 1318616795 mem: 0476174c89abcdef +swx $s0 0xcc1fe50 $a2($a3) -1253016562 1253016564 mem: fe50456789ab0cc1 +swx $s4 0xee3f7f30 $t0($a2) -428619024 428619027 mem: 3023456789ee3f7f +swx $s5 0xc1585396 $t1($a1) -1648889980 1648889981 mem: 5853966789abcdc1 +swx $a3 0x6d87dc1 $a4($s5) -1446250253 1446250253 mem: 06d87dc189abcdef +swx $a1 0xb83828f3 $s3($t1) 924269755 -924269755 mem: b83828f389abcdef +swx $a5 0xe4cd2a7e $s6($s3) -1962913772 1962913774 mem: 2a7e456789abe4cd +swx $s7 0xe03c5d4 $a3($t3) 1225037090 -1225037086 mem: 012345670e03c5d4 +swx $a3 0xf9d86f10 $a4($t3) -1104778944 1104778945 mem: d86f106789abcdf9 +swx $a3 0x943a140b $a4($t3) -1004753154 1004753156 mem: 140b456789ab943a +swx $a1 0x4a82d9c7 $a2($t1) 1613638279 -1613638279 mem: 4a82d9c789abcdef +swx $a4 0x91de8140 $a0($a1) 1102633316 -1102633313 mem: 402345678991de81 +swx $s7 0x502d0d3e $t0($s6) -1427384786 1427384789 mem: 3e23456789502d0d +swx $s0 0xbfb2b74b $a0($s6) -1543934228 1543934231 mem: 4b23456789bfb2b7 +swx $a1 0x1d1209e0 $a2($t1) 1817001073 -1817001071 mem: 09e0456789ab1d12 +swx $t2 0x33802f08 $s5($t0) 169141656 -169141655 mem: 802f086789abcd33 +swx $s5 0x4baef5e1 $t3($t0) -957047160 957047162 mem: f5e1456789ab4bae +swx $t1 0xcdb10990 $s2($s4) 1201439944 -1201439940 mem: 01234567cdb10990 +swxs $a3 0x7dfbfc6d $t1($s4) -506690338 2026761355 mem: 6d234567897dfbfc +swxs $a7 0x2ad94f18 $s7($s4) -366619988 1466479954 mem: 4f18456789ab2ad9 +swxs $a7 0xe6f5623c $a6($a0) -299490627 1197962511 mem: 3c23456789e6f562 +swxs $s4 0xea1ee6b2 $t0($s3) -192777074 771108299 mem: b223456789ea1ee6 +swxs $a7 0x71fb5772 $t3($a0) -481416775 1925667103 mem: 722345678971fb57 +swxs $s0 0x9f885748 $a6($s7) 498553996 -1994215980 mem: 012345679f885748 +swxs $s2 0x6763425 $t1($t3) 371121559 -1484486234 mem: 3425456789ab0676 +swxs $t1 0x54339880 $s2($s6) 310771462 -1243085844 mem: 0123456754339880 +swxs $a6 0x27503c0 $a2($t0) -319208424 1276833700 mem: 01234567027503c0 +swxs $a3 0xdf9addfc $a5($a0) -87227538 348910153 mem: 9addfc6789abcddf +swxs $a7 0xbbaa505c $a3($t3) 180676538 -722706149 mem: 5c23456789bbaa50 +swxs $s2 0x9784cc4c $a7($t0) 327465602 -1309862405 mem: 4c234567899784cc +swxs $s4 0x14cf412e $s0($t2) 461538417 -1846153667 mem: cf412e6789abcd14 +swxs $a6 0xba0eadd4 $a0($t3) -528041401 2112165606 mem: add4456789abba0e +swxs $a7 0x25428b10 $s5($a4) -78452748 313810992 mem: 25428b1089abcdef +swxs $t3 0xb7df5e77 $a6($t1) -275566081 1102264328 mem: 01234567b7df5e77 +swxs $a1 0xe1a4bbb $a3($a7) 327508595 -1310034379 mem: 1a4bbb6789abcd0e +swxs $s2 0x7e033432 $a6($a1) -121923671 487694684 mem: 7e03343289abcdef +swxs $s5 0x4f401f06 $a5($a1) 39179448 -156717788 mem: 012345674f401f06 +swxs $a3 0x21d86d90 $a7($a2) -404613987 1618455950 mem: 6d90456789ab21d8 +swxs $a5 0xe71f88eb $a1($s7) -504190100 2016760400 mem: e71f88eb89abcdef +swxs $s5 0x13e2648e $a6($a3) -241242052 964968212 mem: 0123456713e2648e +swxs $a7 0xc4187810 $s6($s3) 391055714 -1564222852 mem: 01234567c4187810 +swxs $t2 0xbe02a7d0 $t3($a6) 220755400 -883021596 mem: 01234567be02a7d0 +swxs $a5 0x29240bda $a4($a7) 164070419 -656281676 mem: 29240bda89abcdef +li[16] $s2, 0x45 00000045 +li[16] $s0, 0x61 00000061 +li[16] $a0, 0x76 00000076 +li[16] $s2, 0x56 00000056 +li[16] $a2, 0x4a 0000004a +li[16] $a2, 0x56 00000056 +li[16] $s0, 0x24 00000024 +li[16] $s1, 0x47 00000047 +li[16] $a3, 0x73 00000073 +li[16] $a3, 0x7a 0000007a +li[16] $a3, 0x36 00000036 +li[16] $s0, 0x7e 0000007e +li[16] $a2, 0x2e 0000002e +li[16] $a1, 0x38 00000038 +li[16] $s0, 0x63 00000063 +li[48] $s1, 0xe88802f8 e88802f8 +li[48] $t0, 0xca7c9510 ca7c9510 +li[48] $s2, 0x6fa34b69 6fa34b69 +li[48] $a4, 0xaad5e96a aad5e96a +li[48] $s1, 0x6af9999c 6af9999c +li[48] $s3, 0xf1668e16 f1668e16 +li[48] $a5, 0x66d91818 66d91818 +li[48] $a0, 0xdda3aba4 dda3aba4 +li[48] $a5, 0xdd393f4c dd393f4c +li[48] $s3, 0x747848a9 747848a9 +li[48] $s6, 0xb2a4a54c b2a4a54c +li[48] $a0, 0x5e4cdfc8 5e4cdfc8 +li[48] $t1, 0xf68fb365 f68fb365 +li[48] $a2, 0x9f08e274 9f08e274 +li[48] $t3, 0x651f88dc 651f88dc +lui $a4, %hi(0x94c22000) 94c22000 +lui $s2, %hi(0x29ea8000) 29ea8000 +lui $a4, %hi(0xbe5c9000) be5c9000 +lui $s5, %hi(0xe52cb000) e52cb000 +lui $s3, %hi(0xf1618000) f1618000 +lui $a4, %hi(0x74a54000) 74a54000 +lui $a5, %hi(0xe4517000) e4517000 +lui $a7, %hi(0x3c117000) 3c117000 +lui $a6, %hi(0x56987000) 56987000 +lui $t2, %hi(0x93839000) 93839000 +lui $s1, %hi(0xc4372000) c4372000 +lui $s6, %hi(0xd7aa3000) d7aa3000 +lui $s4, %hi(0x884a000) 0884a000 +lui $a0, %hi(0xa801c000) a801c000 +lui $s6, %hi(0x89c8f000) 89c8f000 +lsa $a6 12345676 $a0 12345678 $t1 fffffffe, 0 +lsa $t2 00000001 $a5 00000000 $a4 00000001, 3 +lsa $a6 00000009 $s1 fffffffe $s1 00000001, 3 +lsa $a7 3333333b $t1 00000001 $s3 33333333, 3 +lsa $a1 09abcdf1 $s1 00000002 $t0 09abcdef, 0 +lsa $s6 66666660 $a2 cccccccc $t1 00000000, 3 +lsa $a4 5555554e $a2 aaaaaaaa $a0 fffffffe, 3 +lsa $s4 3cdf0122 $s0 33333333 $a5 09abcdef, 0 +lsa $s0 00000006 $s6 00000002 $s5 fffffffe, 2 +lsa $a2 a3d70a38 $a3 12345678 $a4 12345678, 3 +lsa $s6 fffffffb $a1 09abcdef $a1 ffffffff, 2 +lsa $a6 12345668 $a1 fffffffe $a0 12345678, 3 +lsa $a2 305b05ab $a6 09abcdef $a3 09abcdef, 2 +lsa $s7 6666665e $a7 cccccccc $s5 fffffffe, 3 +lsa $s6 369d0368 $a0 12345678 $t2 12345678, 1 +lsa $s2 ccccccd4 $s0 00000001 $a6 cccccccc, 3 +lsa $a1 55555553 $s2 55555555 $a4 ffffffff, 2 +lsa $t1 bbbbbbb5 $s3 cccccccc $a4 55555555, 3 +lsa $s3 ccccccd6 $a5 cccccccc $s2 0000000a, 0 +lsa $s3 df012344 $t3 33333333 $a0 12345678, 2 +lsa $a6 55555552 $s4 aaaaaaaa $a3 00000002, 3 +lsa $s7 00000001 $t1 00000000 $a5 00000001, 2 +lsa $t2 4d5e6f78 $s0 09abcdef $t1 00000000, 3 +lsa $a6 00000000 $a3 ffffffff $s4 00000002, 1 +lsa $t1 5e6f808c $a2 12345678 $s1 cccccccc, 3 +lsa $s4 00000005 $s2 00000001 $s3 00000001, 2 +lsa $s6 fffffffe $s2 00000000 $s7 fffffffe, 2 +lsa $t2 55555550 $a1 aaaaaaaa $a6 00000000, 3 +lsa $s7 33333332 $a2 cccccccc $s2 00000002, 2 +lsa $t1 00000000 $a1 fffffffe $a4 00000002, 0 +lsa $t1 00000001 $s7 00000000 $s3 00000001, 2 +lsa $t3 aaaaaaa7 $t1 55555555 $s0 ffffffff, 3 +lsa $s5 cccccccd $a0 00000001 $s4 cccccccc, 0 +lsa $s2 fffffffe $a3 ffffffff $a2 00000002, 2 +lsa $s7 305b05ab $s5 09abcdef $a7 09abcdef, 2 +lsa $a0 00000001 $a1 00000002 $s5 ffffffff, 0 +lsa $a1 9999999a $a0 33333333 $a6 00000002, 3 +lsa $s4 5f01233f $s4 aaaaaaaa $t3 09abcdef, 3 +lsa $a4 00000005 $s6 00000001 $s3 00000001, 2 +lsa $s5 6666666a $s6 cccccccc $t3 0000000a, 3 +lwm $fp -204($a5) 260 2 +$fp 0000000e +$ra 0000000f +lwm $t2 -251($s3) 287 1 +$t2 00000009 +lwm $a3 -52($s0) 104 2 +$a3 0000000d +$a4 0000000e +lwm $t0 3($s3) 17 3 +$t0 00000005 +$t1 00000006 +$t2 00000007 +lwm $a2 -55($s3) 87 1 +$a2 00000008 +$sp, 2f10b798 +swm $sp -37($a6) 93 1 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 2f10b798 0000000f +$s4, ab4634cc +$s5, fde9da3a +$s6, b0b084f2 +$s7, 992324c0 +swm $s4 -211($a1) 247 4 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 ab4634cc fde9da3a b0b084f2 +992324c0 0000000d 0000000e 0000000f +$s6, e0c2a22e +$s7, fa07c370 +$t8, bab6978e +swm $s6 -77($a4) 85 3 +00000000 00000001 e0c2a22e fa07c370 +bab6978e 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +$t4, d1109670 +swm $t4 -240($s2) 268 1 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 d1109670 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +$t2, 8658e0c0 +$t3, de5a7cc8 +swm $t2 22($s1) -2 2 +00000000 00000001 00000002 00000003 +00000004 8658e0c0 de5a7cc8 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +restore.jrc[16] 96, $ra -64 +restore.jrc[16] 112, $ra, $s0, $s1 -64 +$s0 0000000e +$s1 0000000d +restore.jrc[16] 128, $fp, $ra, $s0 -64 +$fp 0000000f +$s0 0000000d +restore.jrc[16] 176, $fp, $ra, $s0, $s1, $s2, $s3, $s4 -64 +$fp 00000000 +$s0 0000000f +$s1 0040ac50 +$s2 0000000d +$s3 0000000c +$s4 0000000b +restore.jrc[16] 240, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 -64 +$fp 0000000f +$s0 0000000d +$s1 0000000c +$s2 0000000b +$s3 0000000a +$s4 00000009 +$s5 00000008 +$s6 0000000f +$s7 0040ad02 +$t8 0000000d +restore.jrc[32] 2496, $a7, $t0 -64 +$a7 0000000f +$t0 0000000e +restore.jrc[32] 3480, $t2 -64 +$t2 0000000f +restore.jrc[32] 1648, $a0, $a1 -64 +$a0 0000000f +$a1 0000000e +restore.jrc[32] 2856, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $t3 -64 +$a4 0000000f +$a5 0000000e +$a6 0000000d +$a7 0000000c +$t0 0000000b +$t1 0000000a +$t2 00000009 +$t3 00000008 +restore.jrc[32] 2216, $gp -64 +$gp 0042ab18 +restore 1696, $t9 -64 +$t9 0000000f +restore 1496, $s1, $gp -64 +$s1 0000000e +$gp 0042ab18 +restore 104, $gp -64 +$gp 0000000f +restore 2616, $a5, $a6, $a7, $t0, $t1, $t2 -64 +$a5 0000000f +$a6 0000000e +$a7 0000000d +$t0 0000000c +$t1 0000000b +$t2 0000000a +restore 1800, $gp -64 +$gp 0000000f +$fp, fa689f75 +$ra, 1c688bea +$s0, 5c808b67 +$s1, c2d26968 +$s2, 1e152238 +$s3, fca9a1a5 +$s4, 76661001 +$s5, 233ba56b +$s6, a89de2d8 +$s7, 234a400a +$t8, 40ff6fa0 +save[16] 80, $fp, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $t8 16 +00000000 00000001 00000002 00000003 +00000004 40ff6fa0 234a400a a89de2d8 +233ba56b 76661001 fca9a1a5 1e152238 +c2d26968 5c808b67 1c688bea fa689f75 +$ra, 3c251bcc +$s0, e3f53e91 +$s1, adb3d5c4 +$s2, 7b1bea67 +$s3, 966427bc +$s4, 9569e26f +$s5, 26a88cb8 +save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5 -32 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 26a88cb8 9569e26f 966427bc +7b1bea67 adb3d5c4 e3f53e91 3c251bcc +$ra, 0565def4 +$s0, f2609528 +save[16] 32, $ra, $s0 -32 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d f2609528 0565def4 +$ra, 923806e4 +$s0, 8d3e51c9 +$s1, a2ebb62a +$s2, c88fd690 +$s3, 8063ba58 +$s4, b95e13c8 +$s5, 4e3de233 +$s6, dbf7e475 +save[16] 32, $ra, $s0, $s1, $s2, $s3, $s4, $s5, $s6 -32 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +dbf7e475 4e3de233 b95e13c8 8063ba58 +c88fd690 a2ebb62a 8d3e51c9 923806e4 +$fp, e1962a24 +$ra, 58889c30 +$s0, fed1758e +$s1, f6d7fc53 +$s2, 7d4ec880 +$s3, 515b21a0 +save[16] 208, $fp, $ra, $s0, $s1, $s2, $s3 144 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 515b21a0 7d4ec880 +f6d7fc53 fed1758e 58889c30 e1962a24 +$s3, 13a56f08 +$gp, e3a42263 +save[32] 616, $s3, $gp 552 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d e3a42263 13a56f08 +$t5, 37f0ee90 +save[32] 3504, $t5 3440 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 37f0ee90 +$t5, 5c7b08e4 +$a0, f6fa6f06 +$a1, 072cc436 +$a2, e08d250f +$a3, 7cf9c2b0 +$a4, b767f2a2 +$a5, 93401500 +$a6, 8c7ad451 +$a7, 589b34ba +$t0, f71368b1 +$t1, 0bfd8b6e +save[32] 3288, $t5, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1 3224 +00000000 00000001 00000002 00000003 +00000004 0bfd8b6e f71368b1 589b34ba +8c7ad451 93401500 b767f2a2 7cf9c2b0 +e08d250f 072cc436 f6fa6f06 5c7b08e4 +$s7, 00ad63b4 +$t8, 8dc2b7c5 +$gp, 9f979d78 +save[32] 560, $s7, $t8, $gp 496 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 9f979d78 8dc2b7c5 00ad63b4 +$a0, e3bc5b52 +$a1, e7a91b40 +$a2, 5b05bf18 +$a3, 459e6a80 +$a4, 68218fea +$a5, 8be79d00 +$a6, f58513d4 +$a7, 111ff068 +$t0, 9738fc4d +$t1, 7ed7aa28 +$t2, 854c725a +$gp, 80d4db98 +save[32] 1960, $a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $t0, $t1, $t2, $gp 1896 +00000000 00000001 00000002 00000003 +80d4db98 854c725a 7ed7aa28 9738fc4d +111ff068 f58513d4 8be79d00 68218fea +459e6a80 5b05bf18 e7a91b40 e3bc5b52 diff --git a/none/tests/nanomips/load_store.vgtest b/none/tests/nanomips/load_store.vgtest new file mode 100644 index 0000000000..37a7c4fd56 --- /dev/null +++ b/none/tests/nanomips/load_store.vgtest @@ -0,0 +1,2 @@ +prog: load_store +vgopts: -q \ No newline at end of file diff --git a/none/tests/nanomips/move.S b/none/tests/nanomips/move.S new file mode 100644 index 0000000000..c4c49d2cc5 --- /dev/null +++ b/none/tests/nanomips/move.S @@ -0,0 +1,510 @@ + .data + test_ints: + .word 0xFFFFFF65 + .word 0xFFFFFFFA + .word 0x00000000 + .word 0x00000045 + .word 0x00000176 + .word 0x7FFFFFFF + .word 0x80000000 + .word 0xFFFFFFFF + + .text + .align 1 + + .macro THREE_REG label, instruction, reg1, reg2, reg3, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®2, &offset1($ra) + li $ra, &mem2 + lw ®3, &offset2($ra) + &instruction ®1, ®2, ®3 + move $a1, ®1 + li $a0, &label + lw $a3, &offset2($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro TWO_REG_1_IMM label, instruction, reg1, reg2, offset, mem, imm + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x, &imm\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + &instruction ®1, ®2, &imm + move $a1, ®1 + li $a0, &label + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro THREE_REG_A label, instruction, reg1, reg2, reg3, offset1, offset2, offset3, mem1, mem2, mem3 + .data + &label: + .ascii "&instruction ®1 %08x old %08x ®2 %08x ®3 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®1, &offset1($ra) + li $ra, &mem2 + lw ®2, &offset2($ra) + li $ra, &mem3 + lw ®3, &offset3($ra) + &instruction ®1, ®2, ®3 + move $a1, ®1 + li $a0, &label + lw $a4, &offset3($ra) + li $ra, &mem1 + lw $a2, &offset1($ra) + li $ra, &mem2 + lw $a3, &offset2($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro FOUR_REG label, instruction, reg1, reg2, reg3, reg4, offset1, offset2, mem1, mem2 + .data + &label: + .ascii "&instruction ®1 %08x ®2 %08x ®3 %08x ®4 %08x\n" + .byte 0 + .text + li $ra, &mem1 + lw ®3, &offset1($ra) + li $ra, &mem2 + lw ®4, &offset2($ra) + &instruction ®1, ®2, ®3, ®4 + sw ®2, 4($sp) + move $a1, ®1 + li $a0, &label + lw $a2, 4($sp) + lw $a4, &offset2($ra) + li $ra, &mem1 + lw $a3, &offset1($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + + .macro MOVE_BALC label, label2, reg1, reg2, offset, mem + .data + &label: + .ascii "move.balc ®1 %08x ®2 %08x, next_instruction\n" + .byte 0 + .text + li $ra, &mem + lw ®2, &offset($ra) + move.balc ®1, ®2, &label2 + &label2: + move $a1, ®1 + li $a0, &label + li $ra, &mem + lw $a2, &offset($ra) + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .globl main + .ent main + .type main, @function +main: + .set noreorder + .set nomacro + save 16, $ra + +# slt + THREE_REG message1, slt, $a3, $s7, $s5, 20, 16, test_ints, test_ints + THREE_REG message2, slt, $a6, $t2, $t3, 4, 8, test_ints, test_ints + THREE_REG message3, slt, $a6, $a5, $t1, 28, 12, test_ints, test_ints + THREE_REG message4, slt, $a3, $s1, $a3, 4, 8, test_ints, test_ints + THREE_REG message5, slt, $s0, $s3, $a2, 16, 28, test_ints, test_ints + THREE_REG message6, slt, $a0, $s5, $s0, 8, 8, test_ints, test_ints + THREE_REG message7, slt, $s7, $a2, $s6, 0, 28, test_ints, test_ints + THREE_REG message8, slt, $a6, $a7, $a5, 4, 0, test_ints, test_ints + THREE_REG message9, slt, $s7, $a3, $s1, 0, 24, test_ints, test_ints + THREE_REG message10, slt, $t0, $s0, $a4, 0, 4, test_ints, test_ints + THREE_REG message11, slt, $s6, $a0, $a4, 16, 4, test_ints, test_ints + THREE_REG message12, slt, $s0, $s0, $s2, 0, 28, test_ints, test_ints + THREE_REG message13, slt, $s1, $a3, $a1, 12, 28, test_ints, test_ints + THREE_REG message14, slt, $s0, $a1, $a2, 24, 8, test_ints, test_ints + THREE_REG message15, slt, $a7, $a1, $a1, 0, 24, test_ints, test_ints + THREE_REG message16, slt, $s7, $a5, $s6, 28, 20, test_ints, test_ints + THREE_REG message17, slt, $a7, $a6, $t1, 28, 24, test_ints, test_ints + THREE_REG message18, slt, $s6, $s3, $s7, 4, 28, test_ints, test_ints + THREE_REG message19, slt, $s6, $a6, $a6, 12, 20, test_ints, test_ints + THREE_REG message20, slt, $s2, $s7, $s6, 16, 4, test_ints, test_ints + THREE_REG message21, slt, $a4, $s3, $s7, 4, 16, test_ints, test_ints + THREE_REG message22, slt, $a1, $s4, $a5, 12, 0, test_ints, test_ints + THREE_REG message23, slt, $s6, $s6, $a2, 28, 4, test_ints, test_ints + THREE_REG message24, slt, $s0, $a6, $a1, 12, 12, test_ints, test_ints + THREE_REG message25, slt, $s4, $s1, $a1, 28, 0, test_ints, test_ints + THREE_REG message26, slt, $a2, $a1, $a4, 0, 4, test_ints, test_ints + THREE_REG message27, slt, $t1, $s4, $s1, 16, 4, test_ints, test_ints + THREE_REG message28, slt, $s1, $s5, $a1, 8, 16, test_ints, test_ints + THREE_REG message29, slt, $a5, $a0, $a6, 12, 28, test_ints, test_ints + THREE_REG message30, slt, $t0, $s0, $a1, 4, 28, test_ints, test_ints + THREE_REG message31, slt, $a4, $s5, $s5, 4, 0, test_ints, test_ints + THREE_REG message32, slt, $a1, $t3, $t1, 4, 12, test_ints, test_ints + THREE_REG message33, slt, $s7, $a7, $s3, 16, 12, test_ints, test_ints + THREE_REG message34, slt, $a0, $a5, $t1, 24, 28, test_ints, test_ints + THREE_REG message35, slt, $s1, $s3, $a3, 0, 12, test_ints, test_ints + THREE_REG message36, slt, $a6, $t0, $t3, 0, 4, test_ints, test_ints + THREE_REG message37, slt, $a2, $a4, $s2, 12, 24, test_ints, test_ints + THREE_REG message38, slt, $a7, $a1, $a1, 0, 8, test_ints, test_ints + THREE_REG message39, slt, $a1, $t3, $s1, 0, 12, test_ints, test_ints + THREE_REG message40, slt, $a1, $t1, $a0, 8, 12, test_ints, test_ints + +# sltu + THREE_REG message41, sltu, $a3, $t3, $a2, 24, 12, test_ints, test_ints + THREE_REG message42, sltu, $a5, $a5, $s7, 16, 20, test_ints, test_ints + THREE_REG message43, sltu, $s4, $t3, $s1, 28, 24, test_ints, test_ints + THREE_REG message44, sltu, $s3, $a2, $s3, 4, 8, test_ints, test_ints + THREE_REG message45, sltu, $a2, $t2, $t2, 12, 24, test_ints, test_ints + THREE_REG message46, sltu, $a5, $a4, $s3, 24, 8, test_ints, test_ints + THREE_REG message47, sltu, $a2, $a1, $a6, 4, 16, test_ints, test_ints + THREE_REG message48, sltu, $a5, $a2, $a5, 20, 12, test_ints, test_ints + THREE_REG message49, sltu, $a2, $a5, $t2, 28, 0, test_ints, test_ints + THREE_REG message50, sltu, $t0, $s7, $a2, 16, 0, test_ints, test_ints + THREE_REG message51, sltu, $a1, $s6, $s2, 28, 4, test_ints, test_ints + THREE_REG message52, sltu, $a4, $t0, $s6, 0, 8, test_ints, test_ints + THREE_REG message53, sltu, $a0, $t2, $s0, 8, 28, test_ints, test_ints + THREE_REG message54, sltu, $s0, $t0, $s2, 20, 4, test_ints, test_ints + THREE_REG message55, sltu, $s1, $a7, $s6, 28, 8, test_ints, test_ints + THREE_REG message56, sltu, $s7, $s7, $a5, 20, 28, test_ints, test_ints + THREE_REG message57, sltu, $t1, $s2, $a1, 28, 4, test_ints, test_ints + THREE_REG message58, sltu, $t3, $a4, $s2, 4, 16, test_ints, test_ints + THREE_REG message59, sltu, $a4, $a5, $s2, 0, 0, test_ints, test_ints + THREE_REG message60, sltu, $t2, $s4, $a0, 0, 4, test_ints, test_ints + THREE_REG message61, sltu, $a1, $s1, $a4, 28, 0, test_ints, test_ints + THREE_REG message62, sltu, $s7, $a2, $s7, 0, 0, test_ints, test_ints + THREE_REG message63, sltu, $a3, $s2, $s6, 0, 4, test_ints, test_ints + THREE_REG message64, sltu, $t0, $a3, $a1, 8, 0, test_ints, test_ints + THREE_REG message65, sltu, $s5, $a2, $s6, 16, 12, test_ints, test_ints + THREE_REG message66, sltu, $t2, $s6, $t3, 8, 24, test_ints, test_ints + THREE_REG message67, sltu, $t1, $s3, $s7, 20, 24, test_ints, test_ints + THREE_REG message68, sltu, $a3, $s0, $a1, 8, 20, test_ints, test_ints + THREE_REG message69, sltu, $a5, $s5, $s3, 12, 24, test_ints, test_ints + THREE_REG message70, sltu, $a0, $s7, $s5, 24, 4, test_ints, test_ints + THREE_REG message71, sltu, $a2, $a7, $s0, 16, 12, test_ints, test_ints + THREE_REG message72, sltu, $s7, $a6, $s1, 24, 16, test_ints, test_ints + THREE_REG message73, sltu, $s7, $a3, $t3, 24, 20, test_ints, test_ints + THREE_REG message74, sltu, $t1, $a5, $t1, 8, 0, test_ints, test_ints + THREE_REG message75, sltu, $t2, $s7, $a1, 20, 28, test_ints, test_ints + THREE_REG message76, sltu, $s3, $s2, $a2, 4, 16, test_ints, test_ints + THREE_REG message77, sltu, $t0, $t3, $a3, 16, 12, test_ints, test_ints + THREE_REG message78, sltu, $a7, $s3, $s5, 0, 4, test_ints, test_ints + THREE_REG message79, sltu, $a1, $a4, $a1, 16, 24, test_ints, test_ints + THREE_REG message80, sltu, $s2, $s1, $a4, 28, 0, test_ints, test_ints + +# slti + TWO_REG_1_IMM message81, slti, $a0, $a6, 12, test_ints, 1793 + TWO_REG_1_IMM message82, slti, $a7, $a2, 20, test_ints, 2473 + TWO_REG_1_IMM message83, slti, $a5, $s2, 20, test_ints, 777 + TWO_REG_1_IMM message84, slti, $s1, $s1, 20, test_ints, 856 + TWO_REG_1_IMM message85, slti, $s0, $s4, 20, test_ints, 2648 + TWO_REG_1_IMM message86, slti, $s1, $a2, 0, test_ints, 2034 + TWO_REG_1_IMM message87, slti, $s6, $t3, 0, test_ints, 3335 + TWO_REG_1_IMM message88, slti, $a3, $a0, 28, test_ints, 1551 + TWO_REG_1_IMM message89, slti, $a6, $s7, 0, test_ints, 1153 + TWO_REG_1_IMM message90, slti, $t1, $a5, 12, test_ints, 646 + TWO_REG_1_IMM message91, slti, $s7, $a0, 28, test_ints, 2208 + TWO_REG_1_IMM message92, slti, $a1, $s0, 0, test_ints, 2561 + TWO_REG_1_IMM message93, slti, $a0, $a5, 8, test_ints, 1910 + TWO_REG_1_IMM message94, slti, $t3, $a2, 0, test_ints, 4037 + TWO_REG_1_IMM message95, slti, $a1, $t1, 20, test_ints, 268 + TWO_REG_1_IMM message96, slti, $t1, $s0, 12, test_ints, 2919 + TWO_REG_1_IMM message97, slti, $a3, $s4, 0, test_ints, 3837 + TWO_REG_1_IMM message98, slti, $s1, $a7, 12, test_ints, 949 + TWO_REG_1_IMM message99, slti, $a0, $t3, 20, test_ints, 3357 + TWO_REG_1_IMM message100, slti, $a7, $s2, 28, test_ints, 4028 + TWO_REG_1_IMM message101, slti, $a7, $s5, 8, test_ints, 3991 + TWO_REG_1_IMM message102, slti, $s7, $a6, 16, test_ints, 1349 + TWO_REG_1_IMM message103, slti, $a3, $a5, 4, test_ints, 420 + TWO_REG_1_IMM message104, slti, $s6, $a1, 12, test_ints, 2693 + TWO_REG_1_IMM message105, slti, $s5, $a0, 8, test_ints, 1634 + TWO_REG_1_IMM message106, slti, $t3, $s6, 28, test_ints, 1995 + TWO_REG_1_IMM message107, slti, $s5, $a5, 4, test_ints, 936 + TWO_REG_1_IMM message108, slti, $a7, $t0, 16, test_ints, 686 + TWO_REG_1_IMM message109, slti, $s1, $a6, 20, test_ints, 1484 + TWO_REG_1_IMM message110, slti, $s5, $a6, 4, test_ints, 2412 + +# sltiu + TWO_REG_1_IMM message111, sltiu, $s3, $s7, 4, test_ints, 2369 + TWO_REG_1_IMM message112, sltiu, $t0, $s4, 28, test_ints, 105 + TWO_REG_1_IMM message113, sltiu, $a4, $s5, 12, test_ints, 24 + TWO_REG_1_IMM message114, sltiu, $t3, $a7, 12, test_ints, 2664 + TWO_REG_1_IMM message115, sltiu, $a4, $t0, 4, test_ints, 1547 + TWO_REG_1_IMM message116, sltiu, $s4, $a1, 4, test_ints, 85 + TWO_REG_1_IMM message117, sltiu, $s0, $s3, 8, test_ints, 3389 + TWO_REG_1_IMM message118, sltiu, $s1, $a7, 4, test_ints, 2668 + TWO_REG_1_IMM message119, sltiu, $a2, $a6, 24, test_ints, 358 + TWO_REG_1_IMM message120, sltiu, $t3, $s1, 28, test_ints, 3815 + TWO_REG_1_IMM message121, sltiu, $s6, $s7, 28, test_ints, 3342 + TWO_REG_1_IMM message122, sltiu, $s6, $s7, 24, test_ints, 206 + TWO_REG_1_IMM message123, sltiu, $s3, $a7, 4, test_ints, 3204 + TWO_REG_1_IMM message124, sltiu, $s1, $a6, 4, test_ints, 777 + TWO_REG_1_IMM message125, sltiu, $s1, $s3, 24, test_ints, 1842 + TWO_REG_1_IMM message126, sltiu, $s3, $a3, 28, test_ints, 1733 + TWO_REG_1_IMM message127, sltiu, $s2, $a1, 16, test_ints, 641 + TWO_REG_1_IMM message128, sltiu, $a2, $a7, 0, test_ints, 384 + TWO_REG_1_IMM message129, sltiu, $s6, $s0, 24, test_ints, 3092 + TWO_REG_1_IMM message130, sltiu, $a3, $a1, 8, test_ints, 2810 + TWO_REG_1_IMM message131, sltiu, $s0, $a7, 24, test_ints, 649 + TWO_REG_1_IMM message132, sltiu, $a6, $s4, 8, test_ints, 3551 + TWO_REG_1_IMM message133, sltiu, $s7, $s0, 8, test_ints, 2946 + TWO_REG_1_IMM message134, sltiu, $a4, $a5, 0, test_ints, 1394 + TWO_REG_1_IMM message135, sltiu, $t2, $a0, 12, test_ints, 2240 + TWO_REG_1_IMM message136, sltiu, $a7, $s7, 0, test_ints, 1798 + TWO_REG_1_IMM message137, sltiu, $a3, $t3, 8, test_ints, 270 + TWO_REG_1_IMM message138, sltiu, $a0, $s1, 4, test_ints, 2656 + TWO_REG_1_IMM message139, sltiu, $t0, $s7, 8, test_ints, 1798 + TWO_REG_1_IMM message140, sltiu, $t3, $t0, 24, test_ints, 3891 + +# sov + THREE_REG message141, sov, $a5, $t0, $s5, 20, 4, test_ints, test_ints + THREE_REG message142, sov, $t1, $a7, $s3, 4, 8, test_ints, test_ints + THREE_REG message143, sov, $s3, $t1, $a1, 28, 28, test_ints, test_ints + THREE_REG message144, sov, $t1, $t2, $a1, 28, 8, test_ints, test_ints + THREE_REG message145, sov, $s2, $s0, $t3, 28, 0, test_ints, test_ints + THREE_REG message146, sov, $t1, $s5, $s7, 4, 12, test_ints, test_ints + THREE_REG message147, sov, $a2, $s2, $t3, 0, 12, test_ints, test_ints + THREE_REG message148, sov, $s4, $t1, $s2, 12, 28, test_ints, test_ints + THREE_REG message149, sov, $s0, $t2, $a4, 8, 8, test_ints, test_ints + THREE_REG message150, sov, $s7, $t3, $s0, 0, 8, test_ints, test_ints + THREE_REG message151, sov, $a7, $t3, $a3, 24, 24, test_ints, test_ints + THREE_REG message152, sov, $s3, $s7, $s3, 8, 16, test_ints, test_ints + THREE_REG message153, sov, $a7, $a1, $a3, 8, 20, test_ints, test_ints + THREE_REG message154, sov, $a6, $a3, $a6, 4, 8, test_ints, test_ints + THREE_REG message155, sov, $s5, $t1, $t1, 4, 28, test_ints, test_ints + THREE_REG message156, sov, $a7, $a4, $t2, 28, 4, test_ints, test_ints + THREE_REG message157, sov, $a5, $s6, $a0, 0, 0, test_ints, test_ints + THREE_REG message158, sov, $s2, $s3, $t3, 4, 20, test_ints, test_ints + THREE_REG message159, sov, $a0, $a0, $s2, 12, 12, test_ints, test_ints + THREE_REG message160, sov, $s3, $a1, $a2, 8, 8, test_ints, test_ints + THREE_REG message161, sov, $s4, $s7, $a0, 4, 20, test_ints, test_ints + THREE_REG message162, sov, $t3, $s0, $s1, 8, 0, test_ints, test_ints + THREE_REG message163, sov, $a2, $a7, $s2, 24, 28, test_ints, test_ints + THREE_REG message164, sov, $a3, $a4, $t2, 24, 24, test_ints, test_ints + THREE_REG message165, sov, $a7, $s6, $s2, 8, 4, test_ints, test_ints + THREE_REG message166, sov, $a1, $a1, $a3, 12, 12, test_ints, test_ints + THREE_REG message167, sov, $a5, $s0, $t3, 20, 4, test_ints, test_ints + THREE_REG message168, sov, $t0, $t1, $t2, 4, 28, test_ints, test_ints + THREE_REG message169, sov, $s6, $a0, $a6, 16, 24, test_ints, test_ints + THREE_REG message170, sov, $a5, $t3, $s3, 28, 24, test_ints, test_ints + THREE_REG message171, sov, $s5, $a2, $s0, 28, 0, test_ints, test_ints + THREE_REG message172, sov, $t2, $a5, $a6, 4, 16, test_ints, test_ints + THREE_REG message173, sov, $s1, $t2, $s0, 16, 16, test_ints, test_ints + THREE_REG message174, sov, $t2, $t0, $a5, 0, 8, test_ints, test_ints + THREE_REG message175, sov, $t0, $s6, $s6, 24, 24, test_ints, test_ints + THREE_REG message176, sov, $a0, $t3, $s2, 12, 8, test_ints, test_ints + THREE_REG message177, sov, $s4, $t0, $t0, 0, 16, test_ints, test_ints + THREE_REG message178, sov, $a1, $s2, $t1, 12, 28, test_ints, test_ints + THREE_REG message179, sov, $s1, $s0, $s6, 24, 20, test_ints, test_ints + THREE_REG message180, sov, $a2, $s0, $a5, 12, 16, test_ints, test_ints + +# movn + THREE_REG_A message181, movn, $s3, $a3, $a2, 4, 4, 16, test_ints, test_ints, test_ints + THREE_REG_A message182, movn, $t2, $t0, $a2, 20, 24, 24, test_ints, test_ints, test_ints + THREE_REG_A message183, movn, $s2, $t2, $t3, 24, 28, 20, test_ints, test_ints, test_ints + THREE_REG_A message184, movn, $a3, $t2, $a5, 16, 12, 12, test_ints, test_ints, test_ints + THREE_REG_A message185, movn, $a2, $s0, $s5, 24, 20, 0, test_ints, test_ints, test_ints + THREE_REG_A message186, movn, $s2, $t1, $s7, 0, 24, 16, test_ints, test_ints, test_ints + THREE_REG_A message187, movn, $t1, $s4, $a0, 28, 24, 24, test_ints, test_ints, test_ints + THREE_REG_A message188, movn, $t2, $s0, $s4, 20, 24, 16, test_ints, test_ints, test_ints + THREE_REG_A message189, movn, $s2, $a5, $s6, 28, 20, 4, test_ints, test_ints, test_ints + THREE_REG_A message190, movn, $t2, $s4, $a1, 28, 24, 28, test_ints, test_ints, test_ints + THREE_REG_A message191, movn, $s7, $t1, $a4, 8, 4, 8, test_ints, test_ints, test_ints + THREE_REG_A message192, movn, $s6, $s2, $s3, 24, 24, 4, test_ints, test_ints, test_ints + THREE_REG_A message193, movn, $a0, $s4, $s1, 4, 4, 28, test_ints, test_ints, test_ints + THREE_REG_A message194, movn, $a1, $a3, $s0, 12, 12, 20, test_ints, test_ints, test_ints + THREE_REG_A message195, movn, $s1, $s1, $s5, 24, 20, 16, test_ints, test_ints, test_ints + THREE_REG_A message196, movn, $s1, $a0, $s1, 4, 28, 24, test_ints, test_ints, test_ints + THREE_REG_A message197, movn, $a4, $t1, $s5, 28, 16, 12, test_ints, test_ints, test_ints + THREE_REG_A message198, movn, $t0, $t0, $s3, 4, 4, 0, test_ints, test_ints, test_ints + THREE_REG_A message199, movn, $s0, $s6, $t3, 0, 8, 24, test_ints, test_ints, test_ints + THREE_REG_A message200, movn, $t1, $s3, $s4, 12, 20, 4, test_ints, test_ints, test_ints + THREE_REG_A message201, movn, $a3, $a3, $t1, 16, 16, 16, test_ints, test_ints, test_ints + THREE_REG_A message202, movn, $a6, $a4, $s2, 28, 28, 24, test_ints, test_ints, test_ints + THREE_REG_A message203, movn, $s2, $a7, $s6, 4, 0, 0, test_ints, test_ints, test_ints + THREE_REG_A message204, movn, $t1, $a0, $s6, 20, 0, 0, test_ints, test_ints, test_ints + THREE_REG_A message205, movn, $s3, $t2, $a7, 28, 4, 20, test_ints, test_ints, test_ints + THREE_REG_A message206, movn, $s4, $a4, $s0, 24, 16, 16, test_ints, test_ints, test_ints + THREE_REG_A message207, movn, $s6, $s6, $s5, 16, 24, 16, test_ints, test_ints, test_ints + THREE_REG_A message208, movn, $a2, $t0, $s4, 4, 8, 16, test_ints, test_ints, test_ints + THREE_REG_A message209, movn, $t1, $a7, $t1, 28, 0, 20, test_ints, test_ints, test_ints + THREE_REG_A message210, movn, $s0, $a0, $s7, 28, 12, 16, test_ints, test_ints, test_ints + THREE_REG_A message211, movn, $a0, $s0, $a0, 16, 8, 0, test_ints, test_ints, test_ints + THREE_REG_A message212, movn, $t1, $t0, $a3, 24, 4, 20, test_ints, test_ints, test_ints + THREE_REG_A message213, movn, $s6, $s7, $a5, 24, 16, 28, test_ints, test_ints, test_ints + THREE_REG_A message214, movn, $s3, $a1, $s7, 0, 20, 12, test_ints, test_ints, test_ints + THREE_REG_A message215, movn, $t1, $s5, $s7, 4, 16, 12, test_ints, test_ints, test_ints + THREE_REG_A message216, movn, $s1, $a1, $s3, 8, 20, 4, test_ints, test_ints, test_ints + THREE_REG_A message217, movn, $s2, $a6, $s5, 4, 16, 24, test_ints, test_ints, test_ints + THREE_REG_A message218, movn, $a6, $a3, $s6, 16, 20, 24, test_ints, test_ints, test_ints + THREE_REG_A message219, movn, $s3, $s4, $a0, 24, 0, 4, test_ints, test_ints, test_ints + THREE_REG_A message220, movn, $s6, $a2, $t2, 4, 28, 8, test_ints, test_ints, test_ints + +# movz + THREE_REG_A message221, movz, $s4, $t0, $s3, 12, 24, 4, test_ints, test_ints, test_ints + THREE_REG_A message222, movz, $s0, $a1, $t3, 8, 8, 16, test_ints, test_ints, test_ints + THREE_REG_A message223, movz, $a0, $a5, $a3, 8, 20, 0, test_ints, test_ints, test_ints + THREE_REG_A message224, movz, $a5, $s4, $s1, 20, 28, 4, test_ints, test_ints, test_ints + THREE_REG_A message225, movz, $a2, $a5, $s7, 16, 8, 24, test_ints, test_ints, test_ints + THREE_REG_A message226, movz, $a2, $a7, $t3, 8, 8, 4, test_ints, test_ints, test_ints + THREE_REG_A message227, movz, $a7, $s3, $a2, 8, 4, 20, test_ints, test_ints, test_ints + THREE_REG_A message228, movz, $t2, $a5, $t2, 4, 16, 12, test_ints, test_ints, test_ints + THREE_REG_A message229, movz, $t2, $t1, $s3, 12, 8, 8, test_ints, test_ints, test_ints + THREE_REG_A message230, movz, $a0, $s0, $a7, 16, 16, 24, test_ints, test_ints, test_ints + THREE_REG_A message231, movz, $s2, $s6, $s5, 20, 16, 28, test_ints, test_ints, test_ints + THREE_REG_A message232, movz, $s3, $a7, $t2, 4, 8, 28, test_ints, test_ints, test_ints + THREE_REG_A message233, movz, $t2, $t0, $a1, 16, 8, 20, test_ints, test_ints, test_ints + THREE_REG_A message234, movz, $a7, $a0, $a2, 12, 28, 16, test_ints, test_ints, test_ints + THREE_REG_A message235, movz, $a5, $a7, $t0, 4, 28, 0, test_ints, test_ints, test_ints + THREE_REG_A message236, movz, $s3, $a6, $s2, 16, 28, 28, test_ints, test_ints, test_ints + THREE_REG_A message237, movz, $t3, $s2, $s2, 8, 0, 0, test_ints, test_ints, test_ints + THREE_REG_A message238, movz, $s5, $a6, $t1, 8, 12, 12, test_ints, test_ints, test_ints + THREE_REG_A message239, movz, $t3, $s6, $t3, 4, 20, 24, test_ints, test_ints, test_ints + THREE_REG_A message240, movz, $s1, $a3, $a5, 4, 16, 4, test_ints, test_ints, test_ints + THREE_REG_A message241, movz, $s5, $s3, $s3, 16, 28, 8, test_ints, test_ints, test_ints + THREE_REG_A message242, movz, $t3, $a6, $a1, 4, 16, 4, test_ints, test_ints, test_ints + THREE_REG_A message243, movz, $s2, $t2, $a7, 12, 0, 8, test_ints, test_ints, test_ints + THREE_REG_A message244, movz, $t2, $a4, $s1, 20, 4, 8, test_ints, test_ints, test_ints + THREE_REG_A message245, movz, $s7, $s7, $a1, 16, 0, 4, test_ints, test_ints, test_ints + THREE_REG_A message246, movz, $a5, $a6, $a4, 0, 24, 12, test_ints, test_ints, test_ints + THREE_REG_A message247, movz, $t3, $s5, $a6, 16, 8, 8, test_ints, test_ints, test_ints + THREE_REG_A message248, movz, $a1, $a4, $s4, 16, 28, 4, test_ints, test_ints, test_ints + THREE_REG_A message249, movz, $a3, $s5, $a1, 16, 8, 8, test_ints, test_ints, test_ints + THREE_REG_A message250, movz, $t2, $s1, $a5, 16, 8, 8, test_ints, test_ints, test_ints + THREE_REG_A message251, movz, $s5, $t3, $t0, 8, 0, 8, test_ints, test_ints, test_ints + THREE_REG_A message252, movz, $s1, $a7, $a3, 12, 28, 20, test_ints, test_ints, test_ints + THREE_REG_A message253, movz, $s2, $s4, $a6, 24, 0, 4, test_ints, test_ints, test_ints + THREE_REG_A message254, movz, $s3, $a7, $a7, 0, 12, 4, test_ints, test_ints, test_ints + THREE_REG_A message255, movz, $a3, $s2, $s3, 16, 24, 4, test_ints, test_ints, test_ints + THREE_REG_A message256, movz, $t2, $a7, $a4, 8, 20, 0, test_ints, test_ints, test_ints + THREE_REG_A message257, movz, $t0, $s7, $a3, 28, 24, 8, test_ints, test_ints, test_ints + THREE_REG_A message258, movz, $a1, $t0, $a6, 28, 12, 28, test_ints, test_ints, test_ints + THREE_REG_A message259, movz, $a0, $s6, $a6, 28, 12, 8, test_ints, test_ints, test_ints + THREE_REG_A message260, movz, $s1, $s6, $a0, 0, 8, 8, test_ints, test_ints, test_ints + +# movep + FOUR_REG message261, movep, $a2, $a3, $a0, $s7, 28, 28, test_ints, test_ints + FOUR_REG message262, movep, $a0, $a1, $a3, $s1, 0, 4, test_ints, test_ints + FOUR_REG message263, movep, $a0, $a1, $s4, $s7, 20, 16, test_ints, test_ints + FOUR_REG message264, movep, $a2, $a3, $s3, $s1, 24, 28, test_ints, test_ints + FOUR_REG message265, movep, $a2, $a3, $a1, $s5, 0, 20, test_ints, test_ints + FOUR_REG message266, movep, $a2, $a3, $s2, $s3, 12, 24, test_ints, test_ints + FOUR_REG message267, movep, $a0, $a1, $s7, $a1, 24, 0, test_ints, test_ints + FOUR_REG message268, movep, $a1, $a2, $s2, $s1, 20, 28, test_ints, test_ints + FOUR_REG message269, movep, $a1, $a2, $s4, $a0, 16, 8, test_ints, test_ints + FOUR_REG message270, movep, $a3, $a4, $s4, $s0, 16, 16, test_ints, test_ints + FOUR_REG message271, movep, $a1, $a2, $s6, $s0, 8, 8, test_ints, test_ints + FOUR_REG message272, movep, $a2, $a3, $s5, $a5, 28, 12, test_ints, test_ints + FOUR_REG message273, movep, $a1, $a2, $s7, $s2, 12, 12, test_ints, test_ints + FOUR_REG message274, movep, $a2, $a3, $a5, $a1, 24, 8, test_ints, test_ints + FOUR_REG message275, movep, $a1, $a2, $s6, $r0, 8, 20, test_ints, test_ints + FOUR_REG message276, movep, $a3, $a4, $s7, $a5, 8, 16, test_ints, test_ints + FOUR_REG message277, movep, $a1, $a2, $s6, $s2, 4, 20, test_ints, test_ints + FOUR_REG message278, movep, $a0, $a1, $s0, $s6, 16, 24, test_ints, test_ints + FOUR_REG message279, movep, $a1, $a2, $s7, $r0, 12, 24, test_ints, test_ints + FOUR_REG message280, movep, $a3, $a4, $a6, $s7, 16, 12, test_ints, test_ints + FOUR_REG message281, movep, $a1, $a2, $a5, $s2, 0, 4, test_ints, test_ints + FOUR_REG message282, movep, $a3, $a4, $r0, $s3, 28, 24, test_ints, test_ints + FOUR_REG message283, movep, $a1, $a2, $s7, $a3, 20, 24, test_ints, test_ints + FOUR_REG message284, movep, $a3, $a4, $s3, $s2, 24, 8, test_ints, test_ints + FOUR_REG message285, movep, $a1, $a2, $s5, $s2, 20, 12, test_ints, test_ints + FOUR_REG message286, movep, $a3, $a4, $r0, $s6, 8, 16, test_ints, test_ints + FOUR_REG message287, movep, $a1, $a2, $r0, $s2, 0, 8, test_ints, test_ints + FOUR_REG message288, movep, $a3, $a4, $a0, $r0, 20, 12, test_ints, test_ints + FOUR_REG message289, movep, $a1, $a2, $s5, $s3, 24, 12, test_ints, test_ints + FOUR_REG message290, movep, $a1, $a2, $s6, $s2, 4, 8, test_ints, test_ints + FOUR_REG message291, movep, $a2, $a3, $s6, $s5, 24, 4, test_ints, test_ints + FOUR_REG message292, movep, $a2, $a3, $s3, $s1, 28, 12, test_ints, test_ints + FOUR_REG message293, movep, $a0, $a1, $s5, $a6, 28, 8, test_ints, test_ints + FOUR_REG message294, movep, $a0, $a1, $s4, $a6, 4, 8, test_ints, test_ints + FOUR_REG message295, movep, $a3, $a4, $a6, $a2, 16, 16, test_ints, test_ints + FOUR_REG message296, movep, $a0, $a1, $a5, $s4, 12, 24, test_ints, test_ints + FOUR_REG message297, movep, $a1, $a2, $s0, $s1, 28, 20, test_ints, test_ints + FOUR_REG message298, movep, $a0, $a1, $r0, $s2, 16, 16, test_ints, test_ints + FOUR_REG message299, movep, $a0, $a1, $s4, $s0, 24, 0, test_ints, test_ints + FOUR_REG message300, movep, $a3, $a4, $a6, $s7, 16, 24, test_ints, test_ints + +# movep[rev] + FOUR_REG message301, movep[rev], $s1, $s0, $a2, $a3, 16, 8, test_ints, test_ints + FOUR_REG message302, movep[rev], $a0, $a6, $a3, $a4, 0, 28, test_ints, test_ints + FOUR_REG message303, movep[rev], $s6, $s4, $a0, $a1, 20, 0, test_ints, test_ints + FOUR_REG message304, movep[rev], $s7, $s1, $a0, $a1, 28, 12, test_ints, test_ints + FOUR_REG message305, movep[rev], $s2, $s6, $a0, $a1, 20, 16, test_ints, test_ints + FOUR_REG message306, movep[rev], $s7, $a6, $a0, $a1, 16, 0, test_ints, test_ints + FOUR_REG message307, movep[rev], $s7, $s2, $a2, $a3, 12, 4, test_ints, test_ints + FOUR_REG message308, movep[rev], $a7, $s5, $a3, $a4, 24, 16, test_ints, test_ints + FOUR_REG message309, movep[rev], $a4, $s5, $a2, $a3, 28, 28, test_ints, test_ints + FOUR_REG message310, movep[rev], $s1, $s3, $a3, $a4, 8, 16, test_ints, test_ints + FOUR_REG message311, movep[rev], $a7, $s1, $a2, $a3, 0, 20, test_ints, test_ints + FOUR_REG message312, movep[rev], $s4, $s2, $a0, $a1, 28, 0, test_ints, test_ints + FOUR_REG message313, movep[rev], $a2, $a6, $a0, $a1, 12, 28, test_ints, test_ints + FOUR_REG message314, movep[rev], $a3, $a2, $a1, $a2, 8, 16, test_ints, test_ints + FOUR_REG message315, movep[rev], $a6, $s6, $a2, $a3, 4, 20, test_ints, test_ints + FOUR_REG message316, movep[rev], $s1, $a0, $a1, $a2, 8, 4, test_ints, test_ints + FOUR_REG message317, movep[rev], $s7, $a7, $a0, $a1, 28, 12, test_ints, test_ints + FOUR_REG message318, movep[rev], $a2, $a4, $a3, $a4, 0, 4, test_ints, test_ints + FOUR_REG message319, movep[rev], $a2, $a6, $a0, $a1, 16, 28, test_ints, test_ints + FOUR_REG message320, movep[rev], $s6, $s5, $a2, $a3, 24, 12, test_ints, test_ints + FOUR_REG message321, movep[rev], $a0, $a1, $a3, $a4, 20, 16, test_ints, test_ints + FOUR_REG message322, movep[rev], $s3, $a6, $a0, $a1, 24, 28, test_ints, test_ints + FOUR_REG message323, movep[rev], $a3, $s4, $a1, $a2, 16, 12, test_ints, test_ints + FOUR_REG message324, movep[rev], $s6, $s3, $a1, $a2, 8, 8, test_ints, test_ints + FOUR_REG message325, movep[rev], $s4, $a6, $a1, $a2, 4, 24, test_ints, test_ints + FOUR_REG message326, movep[rev], $a4, $s4, $a2, $a3, 28, 12, test_ints, test_ints + FOUR_REG message327, movep[rev], $a6, $s0, $a0, $a1, 20, 0, test_ints, test_ints + FOUR_REG message328, movep[rev], $s2, $a6, $a2, $a3, 0, 8, test_ints, test_ints + FOUR_REG message329, movep[rev], $a6, $s6, $a2, $a3, 16, 20, test_ints, test_ints + FOUR_REG message330, movep[rev], $a4, $s2, $a2, $a3, 4, 12, test_ints, test_ints + FOUR_REG message331, movep[rev], $s1, $s6, $a2, $a3, 8, 16, test_ints, test_ints + FOUR_REG message332, movep[rev], $a5, $a3, $a0, $a1, 16, 0, test_ints, test_ints + FOUR_REG message333, movep[rev], $s1, $a0, $a2, $a3, 0, 12, test_ints, test_ints + FOUR_REG message334, movep[rev], $a5, $a0, $a1, $a2, 12, 8, test_ints, test_ints + FOUR_REG message335, movep[rev], $a7, $s1, $a2, $a3, 20, 8, test_ints, test_ints + FOUR_REG message336, movep[rev], $s6, $s2, $a0, $a1, 16, 8, test_ints, test_ints + FOUR_REG message337, movep[rev], $a6, $s7, $a2, $a3, 12, 8, test_ints, test_ints + FOUR_REG message338, movep[rev], $a0, $a7, $a2, $a3, 4, 24, test_ints, test_ints + FOUR_REG message339, movep[rev], $s5, $s7, $a1, $a2, 4, 20, test_ints, test_ints + FOUR_REG message340, movep[rev], $a5, $s5, $a1, $a2, 16, 20, test_ints, test_ints + +# move.balc + MOVE_BALC message341, label341, $a1, $s2, 16, test_ints + MOVE_BALC message342, label342, $a1, $s4, 8, test_ints + MOVE_BALC message343, label343, $a1, $s0, 4, test_ints + MOVE_BALC message344, label344, $a0, $s3, 20, test_ints + MOVE_BALC message345, label345, $a1, $s6, 8, test_ints + MOVE_BALC message346, label346, $a0, $a5, 12, test_ints + MOVE_BALC message347, label347, $a1, $a5, 0, test_ints + MOVE_BALC message348, label348, $a1, $a3, 4, test_ints + MOVE_BALC message349, label349, $a0, $a0, 20, test_ints + MOVE_BALC message350, label350, $a1, $a0, 24, test_ints + MOVE_BALC message351, label351, $a1, $r0, 8, test_ints + MOVE_BALC message352, label352, $a1, $a1, 20, test_ints + MOVE_BALC message353, label353, $a0, $a5, 24, test_ints + MOVE_BALC message354, label354, $a1, $r0, 8, test_ints + MOVE_BALC message355, label355, $a0, $s7, 0, test_ints + MOVE_BALC message356, label356, $a0, $s4, 20, test_ints + MOVE_BALC message357, label357, $a1, $s3, 8, test_ints + MOVE_BALC message358, label358, $a0, $s1, 20, test_ints + MOVE_BALC message359, label359, $a1, $a4, 20, test_ints + MOVE_BALC message360, label360, $a0, $a4, 24, test_ints + + move $a0, $zero + restore 16, $ra + jrc $ra + .set macro + .set reorder + .end main + .size main, .-main diff --git a/none/tests/nanomips/move.stderr.exp b/none/tests/nanomips/move.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/move.stdout.exp b/none/tests/nanomips/move.stdout.exp new file mode 100644 index 0000000000..8c53a5b4e7 --- /dev/null +++ b/none/tests/nanomips/move.stdout.exp @@ -0,0 +1,360 @@ +slt $a3 00000000 $s7 7fffffff $s5 00000176 +slt $a6 00000001 $t2 fffffffa $t3 00000000 +slt $a6 00000001 $a5 ffffffff $t1 00000045 +slt $a3 00000001 $s1 fffffffa $a3 00000000 +slt $s0 00000000 $s3 00000176 $a2 ffffffff +slt $a0 00000000 $s5 00000000 $s0 00000000 +slt $s7 00000001 $a2 ffffff65 $s6 ffffffff +slt $a6 00000000 $a7 fffffffa $a5 ffffff65 +slt $s7 00000000 $a3 ffffff65 $s1 80000000 +slt $t0 00000001 $s0 ffffff65 $a4 fffffffa +slt $s6 00000000 $a0 00000176 $a4 fffffffa +slt $s0 00000001 $s0 ffffff65 $s2 ffffffff +slt $s1 00000000 $a3 00000045 $a1 ffffffff +slt $s0 00000001 $a1 80000000 $a2 00000000 +slt $a7 00000000 $a1 ffffff65 $a1 80000000 +slt $s7 00000001 $a5 ffffffff $s6 7fffffff +slt $a7 00000000 $a6 ffffffff $t1 80000000 +slt $s6 00000001 $s3 fffffffa $s7 ffffffff +slt $s6 00000000 $a6 00000045 $a6 7fffffff +slt $s2 00000000 $s7 00000176 $s6 fffffffa +slt $a4 00000001 $s3 fffffffa $s7 00000176 +slt $a1 00000000 $s4 00000045 $a5 ffffff65 +slt $s6 00000000 $s6 ffffffff $a2 fffffffa +slt $s0 00000000 $a6 00000045 $a1 00000045 +slt $s4 00000000 $s1 ffffffff $a1 ffffff65 +slt $a2 00000001 $a1 ffffff65 $a4 fffffffa +slt $t1 00000000 $s4 00000176 $s1 fffffffa +slt $s1 00000001 $s5 00000000 $a1 00000176 +slt $a5 00000000 $a0 00000045 $a6 ffffffff +slt $t0 00000001 $s0 fffffffa $a1 ffffffff +slt $a4 00000000 $s5 fffffffa $s5 ffffff65 +slt $a1 00000001 $t3 fffffffa $t1 00000045 +slt $s7 00000000 $a7 00000176 $s3 00000045 +slt $a0 00000001 $a5 80000000 $t1 ffffffff +slt $s1 00000001 $s3 ffffff65 $a3 00000045 +slt $a6 00000001 $t0 ffffff65 $t3 fffffffa +slt $a2 00000000 $a4 00000045 $s2 80000000 +slt $a7 00000000 $a1 ffffff65 $a1 00000000 +slt $a1 00000001 $t3 ffffff65 $s1 00000045 +slt $a1 00000001 $t1 00000000 $a0 00000045 +sltu $a3 00000000 $t3 80000000 $a2 00000045 +sltu $a5 00000001 $a5 00000176 $s7 7fffffff +sltu $s4 00000000 $t3 ffffffff $s1 80000000 +sltu $s3 00000000 $a2 fffffffa $s3 00000000 +sltu $a2 00000000 $t2 00000045 $t2 80000000 +sltu $a5 00000000 $a4 80000000 $s3 00000000 +sltu $a2 00000000 $a1 fffffffa $a6 00000176 +sltu $a5 00000000 $a2 7fffffff $a5 00000045 +sltu $a2 00000000 $a5 ffffffff $t2 ffffff65 +sltu $t0 00000001 $s7 00000176 $a2 ffffff65 +sltu $a1 00000000 $s6 ffffffff $s2 fffffffa +sltu $a4 00000000 $t0 ffffff65 $s6 00000000 +sltu $a0 00000001 $t2 00000000 $s0 ffffffff +sltu $s0 00000001 $t0 7fffffff $s2 fffffffa +sltu $s1 00000000 $a7 ffffffff $s6 00000000 +sltu $s7 00000001 $s7 7fffffff $a5 ffffffff +sltu $t1 00000000 $s2 ffffffff $a1 fffffffa +sltu $t3 00000000 $a4 fffffffa $s2 00000176 +sltu $a4 00000000 $a5 ffffff65 $s2 ffffff65 +sltu $t2 00000001 $s4 ffffff65 $a0 fffffffa +sltu $a1 00000000 $s1 ffffffff $a4 ffffff65 +sltu $s7 00000000 $a2 ffffff65 $s7 ffffff65 +sltu $a3 00000001 $s2 ffffff65 $s6 fffffffa +sltu $t0 00000001 $a3 00000000 $a1 ffffff65 +sltu $s5 00000000 $a2 00000176 $s6 00000045 +sltu $t2 00000001 $s6 00000000 $t3 80000000 +sltu $t1 00000001 $s3 7fffffff $s7 80000000 +sltu $a3 00000001 $s0 00000000 $a1 7fffffff +sltu $a5 00000001 $s5 00000045 $s3 80000000 +sltu $a0 00000001 $s7 80000000 $s5 fffffffa +sltu $a2 00000000 $a7 00000176 $s0 00000045 +sltu $s7 00000000 $a6 80000000 $s1 00000176 +sltu $s7 00000000 $a3 80000000 $t3 7fffffff +sltu $t1 00000001 $a5 00000000 $t1 ffffff65 +sltu $t2 00000001 $s7 7fffffff $a1 ffffffff +sltu $s3 00000000 $s2 fffffffa $a2 00000176 +sltu $t0 00000000 $t3 00000176 $a3 00000045 +sltu $a7 00000001 $s3 ffffff65 $s5 fffffffa +sltu $a1 00000001 $a4 00000176 $a1 80000000 +sltu $s2 00000000 $s1 ffffffff $a4 ffffff65 +slti $a0 00000001 $a6 00000045, 1793 +slti $a7 00000000 $a2 7fffffff, 2473 +slti $a5 00000000 $s2 7fffffff, 777 +slti $s1 00000000 $s1 7fffffff, 856 +slti $s0 00000000 $s4 7fffffff, 2648 +slti $s1 00000001 $a2 ffffff65, 2034 +slti $s6 00000001 $t3 ffffff65, 3335 +slti $a3 00000001 $a0 ffffffff, 1551 +slti $a6 00000001 $s7 ffffff65, 1153 +slti $t1 00000001 $a5 00000045, 646 +slti $s7 00000001 $a0 ffffffff, 2208 +slti $a1 00000001 $s0 ffffff65, 2561 +slti $a0 00000001 $a5 00000000, 1910 +slti $t3 00000001 $a2 ffffff65, 4037 +slti $a1 00000000 $t1 7fffffff, 268 +slti $t1 00000001 $s0 00000045, 2919 +slti $a3 00000001 $s4 ffffff65, 3837 +slti $s1 00000001 $a7 00000045, 949 +slti $a0 00000000 $t3 7fffffff, 3357 +slti $a7 00000001 $s2 ffffffff, 4028 +slti $a7 00000001 $s5 00000000, 3991 +slti $s7 00000001 $a6 00000176, 1349 +slti $a3 00000001 $a5 fffffffa, 420 +slti $s6 00000001 $a1 00000045, 2693 +slti $s5 00000001 $a0 00000000, 1634 +slti $t3 00000001 $s6 ffffffff, 1995 +slti $s5 00000001 $a5 fffffffa, 936 +slti $a7 00000001 $t0 00000176, 686 +slti $s1 00000000 $a6 7fffffff, 1484 +slti $s5 00000001 $a6 fffffffa, 2412 +sltiu $s3 00000000 $s7 fffffffa, 2369 +sltiu $t0 00000000 $s4 ffffffff, 105 +sltiu $a4 00000000 $s5 00000045, 24 +sltiu $t3 00000001 $a7 00000045, 2664 +sltiu $a4 00000000 $t0 fffffffa, 1547 +sltiu $s4 00000000 $a1 fffffffa, 85 +sltiu $s0 00000001 $s3 00000000, 3389 +sltiu $s1 00000000 $a7 fffffffa, 2668 +sltiu $a2 00000000 $a6 80000000, 358 +sltiu $t3 00000000 $s1 ffffffff, 3815 +sltiu $s6 00000000 $s7 ffffffff, 3342 +sltiu $s6 00000000 $s7 80000000, 206 +sltiu $s3 00000000 $a7 fffffffa, 3204 +sltiu $s1 00000000 $a6 fffffffa, 777 +sltiu $s1 00000000 $s3 80000000, 1842 +sltiu $s3 00000000 $a3 ffffffff, 1733 +sltiu $s2 00000001 $a1 00000176, 641 +sltiu $a2 00000000 $a7 ffffff65, 384 +sltiu $s6 00000000 $s0 80000000, 3092 +sltiu $a3 00000001 $a1 00000000, 2810 +sltiu $s0 00000000 $a7 80000000, 649 +sltiu $a6 00000001 $s4 00000000, 3551 +sltiu $s7 00000001 $s0 00000000, 2946 +sltiu $a4 00000000 $a5 ffffff65, 1394 +sltiu $t2 00000001 $a0 00000045, 2240 +sltiu $a7 00000000 $s7 ffffff65, 1798 +sltiu $a3 00000001 $t3 00000000, 270 +sltiu $a0 00000000 $s1 fffffffa, 2656 +sltiu $t0 00000001 $s7 00000000, 1798 +sltiu $t3 00000000 $t0 80000000, 3891 +sov $a5 00000000 $t0 7fffffff $s5 fffffffa +sov $t1 00000000 $a7 fffffffa $s3 00000000 +sov $s3 00000000 $t1 ffffffff $a1 ffffffff +sov $t1 00000000 $t2 ffffffff $a1 00000000 +sov $s2 00000000 $s0 ffffffff $t3 ffffff65 +sov $t1 00000000 $s5 fffffffa $s7 00000045 +sov $a2 00000000 $s2 ffffff65 $t3 00000045 +sov $s4 00000000 $t1 00000045 $s2 ffffffff +sov $s0 00000000 $t2 00000000 $a4 00000000 +sov $s7 00000000 $t3 ffffff65 $s0 00000000 +sov $a7 00000001 $t3 80000000 $a3 80000000 +sov $s3 00000000 $s7 00000000 $s3 00000176 +sov $a7 00000000 $a1 00000000 $a3 7fffffff +sov $a6 00000000 $a3 fffffffa $a6 00000000 +sov $s5 00000000 $t1 fffffffa $t1 ffffffff +sov $a7 00000000 $a4 ffffffff $t2 fffffffa +sov $a5 00000000 $s6 ffffff65 $a0 ffffff65 +sov $s2 00000000 $s3 fffffffa $t3 7fffffff +sov $a0 00000000 $a0 00000045 $s2 00000045 +sov $s3 00000000 $a1 00000000 $a2 00000000 +sov $s4 00000000 $s7 fffffffa $a0 7fffffff +sov $t3 00000000 $s0 00000000 $s1 ffffff65 +sov $a2 00000001 $a7 80000000 $s2 ffffffff +sov $a3 00000001 $a4 80000000 $t2 80000000 +sov $a7 00000000 $s6 00000000 $s2 fffffffa +sov $a1 00000000 $a1 00000045 $a3 00000045 +sov $a5 00000000 $s0 7fffffff $t3 fffffffa +sov $t0 00000000 $t1 fffffffa $t2 ffffffff +sov $s6 00000000 $a0 00000176 $a6 80000000 +sov $a5 00000001 $t3 ffffffff $s3 80000000 +sov $s5 00000000 $a2 ffffffff $s0 ffffff65 +sov $t2 00000000 $a5 fffffffa $a6 00000176 +sov $s1 00000000 $t2 00000176 $s0 00000176 +sov $t2 00000000 $t0 ffffff65 $a5 00000000 +sov $t0 00000001 $s6 80000000 $s6 80000000 +sov $a0 00000000 $t3 00000045 $s2 00000000 +sov $s4 00000000 $t0 ffffff65 $t0 00000176 +sov $a1 00000000 $s2 00000045 $t1 ffffffff +sov $s1 00000000 $s0 80000000 $s6 7fffffff +sov $a2 00000000 $s0 00000045 $a5 00000176 +movn $s3 fffffffa old fffffffa $a3 fffffffa $a2 00000176 +movn $t2 80000000 old 7fffffff $t0 80000000 $a2 80000000 +movn $s2 ffffffff old 80000000 $t2 ffffffff $t3 7fffffff +movn $a3 00000045 old 00000176 $t2 00000045 $a5 00000045 +movn $a2 7fffffff old 80000000 $s0 7fffffff $s5 ffffff65 +movn $s2 80000000 old ffffff65 $t1 80000000 $s7 00000176 +movn $t1 80000000 old ffffffff $s4 80000000 $a0 80000000 +movn $t2 80000000 old 7fffffff $s0 80000000 $s4 00000176 +movn $s2 7fffffff old ffffffff $a5 7fffffff $s6 fffffffa +movn $t2 80000000 old ffffffff $s4 80000000 $a1 ffffffff +movn $s7 00000000 old 00000000 $t1 fffffffa $a4 00000000 +movn $s6 80000000 old 80000000 $s2 80000000 $s3 fffffffa +movn $a0 fffffffa old fffffffa $s4 fffffffa $s1 ffffffff +movn $a1 00000045 old 00000045 $a3 00000045 $s0 7fffffff +movn $s1 7fffffff old 80000000 $s1 7fffffff $s5 00000176 +movn $s1 ffffffff old fffffffa $a0 ffffffff $s1 80000000 +movn $a4 00000176 old ffffffff $t1 00000176 $s5 00000045 +movn $t0 fffffffa old fffffffa $t0 fffffffa $s3 ffffff65 +movn $s0 00000000 old ffffff65 $s6 00000000 $t3 80000000 +movn $t1 7fffffff old 00000045 $s3 7fffffff $s4 fffffffa +movn $a3 00000176 old 00000176 $a3 00000176 $t1 00000176 +movn $a6 ffffffff old ffffffff $a4 ffffffff $s2 80000000 +movn $s2 ffffff65 old fffffffa $a7 ffffff65 $s6 ffffff65 +movn $t1 ffffff65 old 7fffffff $a0 ffffff65 $s6 ffffff65 +movn $s3 fffffffa old ffffffff $t2 fffffffa $a7 7fffffff +movn $s4 00000176 old 80000000 $a4 00000176 $s0 00000176 +movn $s6 80000000 old 00000176 $s6 80000000 $s5 00000176 +movn $a2 00000000 old fffffffa $t0 00000000 $s4 00000176 +movn $t1 ffffff65 old ffffffff $a7 ffffff65 $t1 7fffffff +movn $s0 00000045 old ffffffff $a0 00000045 $s7 00000176 +movn $a0 00000000 old 00000176 $s0 00000000 $a0 ffffff65 +movn $t1 fffffffa old 80000000 $t0 fffffffa $a3 7fffffff +movn $s6 00000176 old 80000000 $s7 00000176 $a5 ffffffff +movn $s3 7fffffff old ffffff65 $a1 7fffffff $s7 00000045 +movn $t1 00000176 old fffffffa $s5 00000176 $s7 00000045 +movn $s1 7fffffff old 00000000 $a1 7fffffff $s3 fffffffa +movn $s2 00000176 old fffffffa $a6 00000176 $s5 80000000 +movn $a6 7fffffff old 00000176 $a3 7fffffff $s6 80000000 +movn $s3 ffffff65 old 80000000 $s4 ffffff65 $a0 fffffffa +movn $s6 fffffffa old fffffffa $a2 ffffffff $t2 00000000 +movz $s4 00000045 old 00000045 $t0 80000000 $s3 fffffffa +movz $s0 00000000 old 00000000 $a1 00000000 $t3 00000176 +movz $a0 00000000 old 00000000 $a5 7fffffff $a3 ffffff65 +movz $a5 7fffffff old 7fffffff $s4 ffffffff $s1 fffffffa +movz $a2 00000176 old 00000176 $a5 00000000 $s7 80000000 +movz $a2 00000000 old 00000000 $a7 00000000 $t3 fffffffa +movz $a7 00000000 old 00000000 $s3 fffffffa $a2 7fffffff +movz $t2 00000045 old fffffffa $a5 00000176 $t2 00000045 +movz $t2 00000000 old 00000045 $t1 00000000 $s3 00000000 +movz $a0 00000176 old 00000176 $s0 00000176 $a7 80000000 +movz $s2 7fffffff old 7fffffff $s6 00000176 $s5 ffffffff +movz $s3 fffffffa old fffffffa $a7 00000000 $t2 ffffffff +movz $t2 00000176 old 00000176 $t0 00000000 $a1 7fffffff +movz $a7 00000045 old 00000045 $a0 ffffffff $a2 00000176 +movz $a5 fffffffa old fffffffa $a7 ffffffff $t0 ffffff65 +movz $s3 00000176 old 00000176 $a6 ffffffff $s2 ffffffff +movz $t3 00000000 old 00000000 $s2 ffffff65 $s2 ffffff65 +movz $s5 00000000 old 00000000 $a6 00000045 $t1 00000045 +movz $t3 80000000 old fffffffa $s6 7fffffff $t3 80000000 +movz $s1 fffffffa old fffffffa $a3 00000176 $a5 fffffffa +movz $s5 00000000 old 00000176 $s3 ffffffff $s3 00000000 +movz $t3 fffffffa old fffffffa $a6 00000176 $a1 fffffffa +movz $s2 ffffff65 old 00000045 $t2 ffffff65 $a7 00000000 +movz $t2 fffffffa old 7fffffff $a4 fffffffa $s1 00000000 +movz $s7 ffffff65 old 00000176 $s7 ffffff65 $a1 fffffffa +movz $a5 ffffff65 old ffffff65 $a6 80000000 $a4 00000045 +movz $t3 00000000 old 00000176 $s5 00000000 $a6 00000000 +movz $a1 00000176 old 00000176 $a4 ffffffff $s4 fffffffa +movz $a3 00000000 old 00000176 $s5 00000000 $a1 00000000 +movz $t2 00000000 old 00000176 $s1 00000000 $a5 00000000 +movz $s5 ffffff65 old 00000000 $t3 ffffff65 $t0 00000000 +movz $s1 00000045 old 00000045 $a7 ffffffff $a3 7fffffff +movz $s2 80000000 old 80000000 $s4 ffffff65 $a6 fffffffa +movz $s3 ffffff65 old ffffff65 $a7 00000045 $a7 fffffffa +movz $a3 00000176 old 00000176 $s2 80000000 $s3 fffffffa +movz $t2 00000000 old 00000000 $a7 7fffffff $a4 ffffff65 +movz $t0 80000000 old ffffffff $s7 80000000 $a3 00000000 +movz $a1 ffffffff old ffffffff $t0 00000045 $a6 ffffffff +movz $a0 00000045 old ffffffff $s6 00000045 $a6 00000000 +movz $s1 00000000 old ffffff65 $s6 00000000 $a0 00000000 +movep $a2 ffffffff $a3 ffffffff $a0 ffffffff $s7 ffffffff +movep $a0 ffffff65 $a1 fffffffa $a3 ffffff65 $s1 fffffffa +movep $a0 7fffffff $a1 00000176 $s4 7fffffff $s7 00000176 +movep $a2 80000000 $a3 ffffffff $s3 80000000 $s1 ffffffff +movep $a2 ffffff65 $a3 7fffffff $a1 ffffff65 $s5 7fffffff +movep $a2 00000045 $a3 80000000 $s2 00000045 $s3 80000000 +movep $a0 80000000 $a1 ffffff65 $s7 80000000 $a1 ffffff65 +movep $a1 7fffffff $a2 ffffffff $s2 7fffffff $s1 ffffffff +movep $a1 00000176 $a2 00000000 $s4 00000176 $a0 00000000 +movep $a3 00000176 $a4 00000176 $s4 00000176 $s0 00000176 +movep $a1 00000000 $a2 00000000 $s6 00000000 $s0 00000000 +movep $a2 ffffffff $a3 00000045 $s5 ffffffff $a5 00000045 +movep $a1 00000045 $a2 00000045 $s7 00000045 $s2 00000045 +movep $a2 80000000 $a3 00000000 $a5 80000000 $a1 00000000 +movep $a1 00000000 $a2 00000000 $s6 00000000 $r0 7fffffff +movep $a3 00000000 $a4 00000176 $s7 00000000 $a5 00000176 +movep $a1 fffffffa $a2 7fffffff $s6 fffffffa $s2 7fffffff +movep $a0 00000176 $a1 80000000 $s0 00000176 $s6 80000000 +movep $a1 00000045 $a2 00000000 $s7 00000045 $r0 80000000 +movep $a3 00000176 $a4 00000045 $a6 00000176 $s7 00000045 +movep $a1 ffffff65 $a2 fffffffa $a5 ffffff65 $s2 fffffffa +movep $a3 00000000 $a4 80000000 $r0 ffffffff $s3 80000000 +movep $a1 7fffffff $a2 80000000 $s7 7fffffff $a3 80000000 +movep $a3 80000000 $a4 00000000 $s3 80000000 $s2 00000000 +movep $a1 7fffffff $a2 00000045 $s5 7fffffff $s2 00000045 +movep $a3 00000000 $a4 00000176 $r0 00000000 $s6 00000176 +movep $a1 00000000 $a2 00000000 $r0 ffffff65 $s2 00000000 +movep $a3 7fffffff $a4 00000000 $a0 7fffffff $r0 00000045 +movep $a1 80000000 $a2 00000045 $s5 80000000 $s3 00000045 +movep $a1 fffffffa $a2 00000000 $s6 fffffffa $s2 00000000 +movep $a2 80000000 $a3 fffffffa $s6 80000000 $s5 fffffffa +movep $a2 ffffffff $a3 00000045 $s3 ffffffff $s1 00000045 +movep $a0 ffffffff $a1 00000000 $s5 ffffffff $a6 00000000 +movep $a0 fffffffa $a1 00000000 $s4 fffffffa $a6 00000000 +movep $a3 00000176 $a4 00000176 $a6 00000176 $a2 00000176 +movep $a0 00000045 $a1 80000000 $a5 00000045 $s4 80000000 +movep $a1 ffffffff $a2 7fffffff $s0 ffffffff $s1 7fffffff +movep $a0 00000000 $a1 00000176 $r0 00000176 $s2 00000176 +movep $a0 80000000 $a1 ffffff65 $s4 80000000 $s0 ffffff65 +movep $a3 00000176 $a4 80000000 $a6 00000176 $s7 80000000 +movep[rev] $s1 00000176 $s0 00000000 $a2 00000176 $a3 00000000 +movep[rev] $a0 ffffff65 $a6 ffffffff $a3 ffffff65 $a4 ffffffff +movep[rev] $s6 7fffffff $s4 ffffff65 $a0 7fffffff $a1 ffffff65 +movep[rev] $s7 ffffffff $s1 00000045 $a0 ffffffff $a1 00000045 +movep[rev] $s2 7fffffff $s6 00000176 $a0 7fffffff $a1 00000176 +movep[rev] $s7 00000176 $a6 ffffff65 $a0 00000176 $a1 ffffff65 +movep[rev] $s7 00000045 $s2 fffffffa $a2 00000045 $a3 fffffffa +movep[rev] $a7 80000000 $s5 00000176 $a3 80000000 $a4 00000176 +movep[rev] $a4 ffffffff $s5 ffffffff $a2 ffffffff $a3 ffffffff +movep[rev] $s1 00000000 $s3 00000176 $a3 00000000 $a4 00000176 +movep[rev] $a7 ffffff65 $s1 7fffffff $a2 ffffff65 $a3 7fffffff +movep[rev] $s4 ffffffff $s2 ffffff65 $a0 ffffffff $a1 ffffff65 +movep[rev] $a2 00000045 $a6 ffffffff $a0 00000045 $a1 ffffffff +movep[rev] $a3 00000000 $a2 00000176 $a1 00000000 $a2 00000176 +movep[rev] $a6 fffffffa $s6 7fffffff $a2 fffffffa $a3 7fffffff +movep[rev] $s1 00000000 $a0 fffffffa $a1 00000000 $a2 fffffffa +movep[rev] $s7 ffffffff $a7 00000045 $a0 ffffffff $a1 00000045 +movep[rev] $a2 ffffff65 $a4 fffffffa $a3 ffffff65 $a4 fffffffa +movep[rev] $a2 00000176 $a6 ffffffff $a0 00000176 $a1 ffffffff +movep[rev] $s6 80000000 $s5 00000045 $a2 80000000 $a3 00000045 +movep[rev] $a0 7fffffff $a1 00000176 $a3 7fffffff $a4 00000176 +movep[rev] $s3 80000000 $a6 ffffffff $a0 80000000 $a1 ffffffff +movep[rev] $a3 00000176 $s4 00000045 $a1 00000176 $a2 00000045 +movep[rev] $s6 00000000 $s3 00000000 $a1 00000000 $a2 00000000 +movep[rev] $s4 fffffffa $a6 80000000 $a1 fffffffa $a2 80000000 +movep[rev] $a4 ffffffff $s4 00000045 $a2 ffffffff $a3 00000045 +movep[rev] $a6 7fffffff $s0 ffffff65 $a0 7fffffff $a1 ffffff65 +movep[rev] $s2 ffffff65 $a6 00000000 $a2 ffffff65 $a3 00000000 +movep[rev] $a6 00000176 $s6 7fffffff $a2 00000176 $a3 7fffffff +movep[rev] $a4 fffffffa $s2 00000045 $a2 fffffffa $a3 00000045 +movep[rev] $s1 00000000 $s6 00000176 $a2 00000000 $a3 00000176 +movep[rev] $a5 00000176 $a3 ffffff65 $a0 00000176 $a1 ffffff65 +movep[rev] $s1 ffffff65 $a0 00000045 $a2 ffffff65 $a3 00000045 +movep[rev] $a5 00000045 $a0 00000000 $a1 00000045 $a2 00000000 +movep[rev] $a7 7fffffff $s1 00000000 $a2 7fffffff $a3 00000000 +movep[rev] $s6 00000176 $s2 00000000 $a0 00000176 $a1 00000000 +movep[rev] $a6 00000045 $s7 00000000 $a2 00000045 $a3 00000000 +movep[rev] $a0 fffffffa $a7 80000000 $a2 fffffffa $a3 80000000 +movep[rev] $s5 fffffffa $s7 7fffffff $a1 fffffffa $a2 7fffffff +movep[rev] $a5 00000176 $s5 7fffffff $a1 00000176 $a2 7fffffff +move.balc $a1 00000176 $s2 00000176, next_instruction +move.balc $a1 00000000 $s4 00000000, next_instruction +move.balc $a1 fffffffa $s0 fffffffa, next_instruction +move.balc $a0 7fffffff $s3 7fffffff, next_instruction +move.balc $a1 00000000 $s6 00000000, next_instruction +move.balc $a0 00000045 $a5 00000045, next_instruction +move.balc $a1 ffffff65 $a5 ffffff65, next_instruction +move.balc $a1 fffffffa $a3 fffffffa, next_instruction +move.balc $a0 7fffffff $a0 7fffffff, next_instruction +move.balc $a1 80000000 $a0 80000000, next_instruction +move.balc $a1 00000000 $r0 00000000, next_instruction +move.balc $a1 7fffffff $a1 7fffffff, next_instruction +move.balc $a0 80000000 $a5 80000000, next_instruction +move.balc $a1 00000000 $r0 00000000, next_instruction +move.balc $a0 ffffff65 $s7 ffffff65, next_instruction +move.balc $a0 7fffffff $s4 7fffffff, next_instruction +move.balc $a1 00000000 $s3 00000000, next_instruction +move.balc $a0 7fffffff $s1 7fffffff, next_instruction +move.balc $a1 7fffffff $a4 7fffffff, next_instruction +move.balc $a0 80000000 $a4 80000000, next_instruction diff --git a/none/tests/nanomips/move.vgtest b/none/tests/nanomips/move.vgtest new file mode 100644 index 0000000000..68eaab61ad --- /dev/null +++ b/none/tests/nanomips/move.vgtest @@ -0,0 +1,2 @@ +prog: move +vgopts: -q \ No newline at end of file diff --git a/none/tests/nanomips/mwrap_printf.c b/none/tests/nanomips/mwrap_printf.c new file mode 100644 index 0000000000..e5fa9e048f --- /dev/null +++ b/none/tests/nanomips/mwrap_printf.c @@ -0,0 +1,5 @@ +void mwrap_printf(){ + __asm__( + "jal printf\t\n" + ); +} diff --git a/none/tests/nanomips/pc_instructions.S b/none/tests/nanomips/pc_instructions.S new file mode 100644 index 0000000000..65d9a38db4 --- /dev/null +++ b/none/tests/nanomips/pc_instructions.S @@ -0,0 +1,243 @@ + .data + test_data: + .word 0x0 + .word 0x1 + .word 0x2 + .word 0x3 + .word 0x4 + .word 0x5 + .word 0x6 + .word 0x7 + .word 0x8 + .word 0x9 + .word 0xA + .word 0xB + .word 0xC + .word 0xD + .word 0xE + .word 0xF + print_4_hex_num: + .ascii "%08x %08x %08x %08x\n" + .byte 0 + + .text + .align 2 + + .macro ADDIU_PC instruction, label, label2, reg, imm + .data + &label: + .ascii "&instruction ® %d, &imm\n" + .byte 0 + .text + &label2: + &instruction ®, &imm + move $a1, ® + li $a0, &label + li $t0, &label2 + subu $a1, $a1, $t0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro ALUI_PC label, label2, reg, imm + .data + &label: + .ascii "aluipc ® %x, %%pcrel_hi(&imm)\n" + .byte 0 + .text + &label2: + aluipc ®, %pcrel_hi(&imm) + move $a1, ® + li $a0, &label + lui $t0, %hi(&label2) + subu $a1, $a1, $t0 + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + .macro LOAD_PC label, reg, offset + .data + &label: + .ascii "lwpc ® %08x &offset\n" + .byte 0 + .text + lwpc ®, test_data + &offset + move $a1, ® + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + .endm + + + .macro STORE_PC label, reg, offset, val + .data + &label: + .ascii "swpc ® &val %08x &offset\n" + .byte 0 + .text + li ®, &val + swpc ®, test_data + &offset + li $a0, &label + lapc[48] $t9, mwrap_printf + jalrc $t9 + balc print_test_data + balc cleanup_test_data + .endm + + .globl cleanup_test_data + .ent cleanup_test_data + .type cleanup_test_data, @function +cleanup_test_data: + li $t0, test_data + li $t1, 0 +loop: + swxs $t1, $t1($t0) + addiu $t1, $t1, 1 + bneic $t1, 16, loop + jrc $ra + .end cleanup_test_data + .size cleanup_test_data, .-cleanup_test_data + + .globl print_test_data + .ent print_test_data + .type print_test_data, @function +print_test_data: + save 16, $ra + li $s0, test_data + li $a0, print_4_hex_num + lw $a1, 0($s0) + lw $a2, 4($s0) + lw $a3, 8($s0) + lw $a4, 12($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 16($s0) + lw $a2, 20($s0) + lw $a3, 24($s0) + lw $a4, 28($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 32($s0) + lw $a2, 36($s0) + lw $a3, 40($s0) + lw $a4, 44($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + li $a0, print_4_hex_num + lw $a1, 48($s0) + lw $a2, 52($s0) + lw $a3, 56($s0) + lw $a4, 60($s0) + lapc[48] $t9, mwrap_printf + jalrc $t9 + restore 16, $ra + jrc $ra + .set macro + .set reorder + .end print_test_data + .size print_test_data, .-print_test_data + + + + .globl main + .ent main + .type main, @function +main: + .set noreorder + .set nomacro + save 16, $ra + + # addiupc[32] + ADDIU_PC addiupc[32],message1, label1, $s0,-883304 + ADDIU_PC addiupc[32],message2, label2, $a2,-1367040 + ADDIU_PC addiupc[32],message3, label3, $t1,-558914 + ADDIU_PC addiupc[32],message4, label4, $a1,-430560 + ADDIU_PC addiupc[32],message5, label5, $a5,-1160722 + ADDIU_PC addiupc[32],message6, label6, $s0,-1342112 + ADDIU_PC addiupc[32],message7, label7, $a5,1219852 + ADDIU_PC addiupc[32],message8, label8, $s7,-1244934 + ADDIU_PC addiupc[32],message9, label9, $t0,-1726688 + ADDIU_PC addiupc[32],message10, label10, $a5,-1163280 + ADDIU_PC addiupc[32],message11, label11, $a4,1211532 + ADDIU_PC addiupc[32],message12, label12, $a1,-1657340 + ADDIU_PC addiupc[32],message13, label13, $s6,2023420 + ADDIU_PC addiupc[32],message14, label14, $a7,1287430 + ADDIU_PC addiupc[32],message15, label15, $a4,-51996 + + # addiupc[48] + ADDIU_PC addiupc[48],message16, label16, $a1,177236788 + ADDIU_PC addiupc[48],message17, label17, $s1,706698569 + ADDIU_PC addiupc[48],message18, label18, $s2,804137936 + ADDIU_PC addiupc[48],message19, label19, $s5,1189146130 + ADDIU_PC addiupc[48],message20, label20, $s6,-444831196 + ADDIU_PC addiupc[48],message21, label21, $s3,1296895950 + ADDIU_PC addiupc[48],message22, label22, $a5,-533232603 + ADDIU_PC addiupc[48],message23, label23, $a5,-1238141567 + ADDIU_PC addiupc[48],message24, label24, $a5,1438695404 + ADDIU_PC addiupc[48],message25, label25, $a2,-8616062 + ADDIU_PC addiupc[48],message26, label26, $a6,-1713242258 + ADDIU_PC addiupc[48],message27, label27, $t1,766052933 + ADDIU_PC addiupc[48],message28, label28, $s1,1052359348 + ADDIU_PC addiupc[48],message29, label29, $a4,1696814736 + ADDIU_PC addiupc[48],message30, label30, $a5,257472883 + + # aluipc + ALUI_PC message31, label31, $t2,0xdbe13000 + ALUI_PC message32, label32, $a3,0x5c44b000 + ALUI_PC message33, label33, $s1,0xe4671000 + ALUI_PC message34, label34, $a4,0x23216000 + ALUI_PC message35, label35, $a3,0x27b94000 + ALUI_PC message36, label36, $a0,0x249d8000 + ALUI_PC message37, label37, $a3,0x4bf6a000 + ALUI_PC message38, label38, $a5,0x6aa69000 + ALUI_PC message39, label39, $s1,0xc1fa1000 + ALUI_PC message40, label40, $a6,0x9b957000 + ALUI_PC message41, label41, $s0,0x54718000 + ALUI_PC message42, label42, $s0,0x1c2ca000 + ALUI_PC message43, label43, $s6,0xd7088000 + ALUI_PC message44, label44, $s4,0xdfabd000 + ALUI_PC message45, label45, $a7,0x33879000 + + # lwpc + LOAD_PC message46, $s6, 24 + LOAD_PC message47, $s5, 8 + LOAD_PC message48, $s1, 12 + LOAD_PC message49, $s5, 44 + LOAD_PC message50, $s1, 32 + LOAD_PC message51, $t0, 16 + LOAD_PC message52, $s1, 28 + LOAD_PC message53, $t0, 44 + LOAD_PC message54, $a3, 24 + LOAD_PC message55, $t1, 32 + LOAD_PC message56, $s4, 52 + LOAD_PC message57, $t2, 0 + LOAD_PC message58, $s2, 24 + LOAD_PC message59, $t3, 0 + LOAD_PC message60, $a2, 8 + + # swpc + STORE_PC message61, $a4, 48, 0xc91aa0f8 + STORE_PC message62, $s2, 48, 0x6f730a24 + STORE_PC message63, $t0, 52, 0xc2c122ca + STORE_PC message64, $a6, 16, 0x8e472ee0 + STORE_PC message65, $s0, 52, 0x027020a4 + STORE_PC message66, $t1, 20, 0x99a0cadc + STORE_PC message67, $s6, 4, 0xbc8b7a8d + STORE_PC message68, $s6, 36, 0xbef3a566 + STORE_PC message69, $t1, 40, 0xa373f6ed + STORE_PC message70, $a4, 52, 0xfa483a90 + STORE_PC message71, $s0, 0, 0x8a788e97 + STORE_PC message72, $a0, 0, 0x401629e8 + STORE_PC message73, $a2, 28, 0x53ea1794 + STORE_PC message74, $s1, 32, 0xdba7309b + STORE_PC message75, $a1, 24, 0x9bfd3f00 + + move $a0, $zero + restore 16, $ra + jrc $ra + .set macro + .set reorder + .end main + .size main, .-main diff --git a/none/tests/nanomips/pc_instructions.stderr.exp b/none/tests/nanomips/pc_instructions.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/nanomips/pc_instructions.stdout.exp b/none/tests/nanomips/pc_instructions.stdout.exp new file mode 100644 index 0000000000..9bcdc4dc4f --- /dev/null +++ b/none/tests/nanomips/pc_instructions.stdout.exp @@ -0,0 +1,135 @@ +addiupc[32] $s0 -883304, -883304 +addiupc[32] $a2 -1367040, -1367040 +addiupc[32] $t1 -558914, -558914 +addiupc[32] $a1 -430560, -430560 +addiupc[32] $a5 -1160722, -1160722 +addiupc[32] $s0 -1342112, -1342112 +addiupc[32] $a5 1219852, 1219852 +addiupc[32] $s7 -1244934, -1244934 +addiupc[32] $t0 -1726688, -1726688 +addiupc[32] $a5 -1163280, -1163280 +addiupc[32] $a4 1211532, 1211532 +addiupc[32] $a1 -1657340, -1657340 +addiupc[32] $s6 2023420, 2023420 +addiupc[32] $a7 1287430, 1287430 +addiupc[32] $a4 -51996, -51996 +addiupc[48] $a1 177236788, 177236788 +addiupc[48] $s1 706698569, 706698569 +addiupc[48] $s2 804137936, 804137936 +addiupc[48] $s5 1189146130, 1189146130 +addiupc[48] $s6 -444831196, -444831196 +addiupc[48] $s3 1296895950, 1296895950 +addiupc[48] $a5 -533232603, -533232603 +addiupc[48] $a5 -1238141567, -1238141567 +addiupc[48] $a5 1438695404, 1438695404 +addiupc[48] $a2 -8616062, -8616062 +addiupc[48] $a6 -1713242258, -1713242258 +addiupc[48] $t1 766052933, 766052933 +addiupc[48] $s1 1052359348, 1052359348 +addiupc[48] $a4 1696814736, 1696814736 +addiupc[48] $a5 257472883, 257472883 +aluipc $t2 dba13000, %pcrel_hi(0xdbe13000) +aluipc $a3 5c04b000, %pcrel_hi(0x5c44b000) +aluipc $s1 e4271000, %pcrel_hi(0xe4671000) +aluipc $a4 22e16000, %pcrel_hi(0x23216000) +aluipc $a3 27794000, %pcrel_hi(0x27b94000) +aluipc $a0 245d8000, %pcrel_hi(0x249d8000) +aluipc $a3 4bb6a000, %pcrel_hi(0x4bf6a000) +aluipc $a5 6a669000, %pcrel_hi(0x6aa69000) +aluipc $s1 c1ba1000, %pcrel_hi(0xc1fa1000) +aluipc $a6 9b557000, %pcrel_hi(0x9b957000) +aluipc $s0 54318000, %pcrel_hi(0x54718000) +aluipc $s0 1beca000, %pcrel_hi(0x1c2ca000) +aluipc $s6 d6c88000, %pcrel_hi(0xd7088000) +aluipc $s4 df6bd000, %pcrel_hi(0xdfabd000) +aluipc $a7 33479000, %pcrel_hi(0x33879000) +lwpc $s6 00000006 24 +lwpc $s5 00000002 8 +lwpc $s1 00000003 12 +lwpc $s5 0000000b 44 +lwpc $s1 00000008 32 +lwpc $t0 00000004 16 +lwpc $s1 00000007 28 +lwpc $t0 0000000b 44 +lwpc $a3 00000006 24 +lwpc $t1 00000008 32 +lwpc $s4 0000000d 52 +lwpc $t2 00000000 0 +lwpc $s2 00000006 24 +lwpc $t3 00000000 0 +lwpc $a2 00000002 8 +swpc $a4 0xc91aa0f8 00000000 48 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +c91aa0f8 0000000d 0000000e 0000000f +swpc $s2 0x6f730a24 00000000 48 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +6f730a24 0000000d 0000000e 0000000f +swpc $t0 0xc2c122ca 00000000 52 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c c2c122ca 0000000e 0000000f +swpc $a6 0x8e472ee0 00000000 16 +00000000 00000001 00000002 00000003 +8e472ee0 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $s0 0x027020a4 00000000 52 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 027020a4 0000000e 0000000f +swpc $t1 0x99a0cadc 00000000 20 +00000000 00000001 00000002 00000003 +00000004 99a0cadc 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $s6 0xbc8b7a8d 00000000 4 +00000000 bc8b7a8d 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $s6 0xbef3a566 00000000 36 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 bef3a566 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $t1 0xa373f6ed 00000000 40 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 a373f6ed 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $a4 0xfa483a90 00000000 52 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c fa483a90 0000000e 0000000f +swpc $s0 0x8a788e97 00000000 0 +8a788e97 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $a0 0x401629e8 00000000 0 +401629e8 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $a2 0x53ea1794 00000000 28 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 53ea1794 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $s1 0xdba7309b 00000000 32 +00000000 00000001 00000002 00000003 +00000004 00000005 00000006 00000007 +dba7309b 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f +swpc $a1 0x9bfd3f00 9bfd3f00 24 +00000000 00000001 00000002 00000003 +00000004 00000005 9bfd3f00 00000007 +00000008 00000009 0000000a 0000000b +0000000c 0000000d 0000000e 0000000f diff --git a/none/tests/nanomips/pc_instructions.vgtest b/none/tests/nanomips/pc_instructions.vgtest new file mode 100644 index 0000000000..a8ceb9afe4 --- /dev/null +++ b/none/tests/nanomips/pc_instructions.vgtest @@ -0,0 +1,2 @@ +prog: pc_instructions +vgopts: -q \ No newline at end of file